Ajax送信先PHPで発生するエラーについて

このQ&Aのポイント
  • Ajax送信先のPHPで発生するエラーについて質問です。
  • PHPのWarningエラーが「jsondata」の取得に影響を与える理由を知りたいです。
  • 普段あまり気にしないPHPのWarningエラーについても理解したいです。
回答を見る
  • ベストアンサー

「Ajax送信先PHP」Warningがなぜ影響?

■状況 $.post('test.php',{action: "gethoge"},function(data){ jsondata = $.parseJSON(data); console.log(jsondata); としたら、エラーになりました ■エラーメッセージ Uncaught Invalid JSON: Warning: include_once() Failed opening ■対応 ・インクルードファイルを読み込めていなかったので、修正 ■知りたいこと ・「jsondata」を取得する際、PHPの「Warning」影響をなぜ受けるのでしょうか? ・PHP「Warning」エラーとか、普段あまり気にしないのですが…

  • re97
  • お礼率80% (601/744)
  • AJAX
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5071/13250)
回答No.1

ワーニングによるエラーメッセージがJSON形式のデータに混入してしまったため、JSONとして処理できなかったっという所ではないでしょうか。

re97
質問者

お礼

回答ありがとうございましたー

関連するQ&A

  • jquery PHP 値 ajax

    失礼します。現在jqueryで作成した2次元配列をPHP側に渡したいのですが上手くいきません。 jquery側のコンソールで確認した際にはsuccessの処理が行われ配列の中身がjson形式で表示されるのですが、その内容をPHP側で確認しようとするとNULLが返ってきてしまいます。 何卒ご教授よろしくお願いいたします。 html側 $(function(){ // 送るデータ形式はJSONでなければ、PHP側でエラーが出る.のでJSON.stringify()でJSON形式に変換 send_data= JSON.stringify(data); // 送信処理 $.ajax({ url: "ajax.php", // 送信先のPHP type: "POST", // POSTで送る contentType: "Content-Type: application/json; charset=UTF-8", //必須ではなさそうだが、サーバ側との整合のために明示しておいた方がよい。 // dataType: 'json', //受信形式 必須ではなさそうだがサーバ側との整合のために明示しておいた方がよい。 data:send_data //JSON形式の送信データ }).success(function(data, status, xhr) { // 通信成功時の処理 console.log("success"); console.log("data ="+data); console.log("status ="+status); console.log("xhr ="+xhr); }).error(function(xhr, status, error) { // 通信失敗時の処理 console.log("error"); }).complete(function(xhr, status) { // 通信完了時の処理 console.log("fin"); }); }) }) PHP側 二通り試してみました。 <?php //php://inputはPOSTの生データを取得できる $json = file_get_contents("php://input"); //JSON形式データをPHPの配列型に変換 $data = json_decode($json); var_dump($data) ; //POSTできたデータを格納 $hoge = $_POST['data']; var_dump($hoge);

    • ベストアンサー
    • AJAX
  • PHP PEARパッケージのincludeができない。

    PHP PEARパッケージのincludeができない。 お世話になっております。 phpのPEARパッケージのincludeができません。 行うと PHP Warning: require_once(File/CSV.php): failed to open stream: そのようなファイルやディ レクトリはありません in /var/www/httpdocs/XXXXXXXX.php on line 10 PHP Fatal error: require_once(): Failed opening required 'File/CSV.php' (include_path='.:/usr/share/pear') in /var/www/httpdocs/XXXXXXXX.php on line 10 となってしまいます。 エラーメッセージ中の/usr/share/pear上に確かに存在します。 何か他に条件などあるのでしょうか? お願いいたします。

    • ベストアンサー
    • PHP
  • PEAR::MailでPEAR.php?

    Mailを使ってメールを送信したいのですが、エラーがでます。 Warning: require_once(PEAR.php) [function.require-once]: failed to open stream: この PEAR.php はどこで入手できるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • AJAX通信のエラー処理について

    jQueryを利用したAJAX通信で、「●●.js」が不定期エラーになるのですが、エラーの意味も原因も分かりません。 Uncaught TypeError: Cannot read property 'age' of null ■質問1 $.postではエラーを捕捉出来ないと書いてあったので、$.ajaxに書き換えたいのですが、書き方がよく分かりません。どう書き直せば良いでしょうか? ■コード ▼「●●.js」 $.post('test.php',{action: "getmemberdata"},function(data){  jsondata = $.parseJSON(data);  if(jsondata == null){   return true;  }  処理 });  if(Number(jsondata.age)>10){←この箇所で不定期で上記エラーが発生! ▼「test.php」 // Echo Data For Ajax if($_POST['action']=='getmemberdata'){  処理  echo json_encode(データ); ■質問2 AJAX通信の確認をサーバ側で行うことは出来ないのでしょうか? 「test.php」で、echo json_encode(データ);する前に、  echo データ;  exit; としてみたのですが、処理が途中で止まらず、変数の中身を確認することが出来ません。 AJAX通信の確認は、$.ajaxのエラー処理でしか確認することは出来ないのでしょうか? ■質問3 (Number(jsondata.age)>10)がエラーになるので、何とか回避したいのですが、 回避する方法はあるでしょうか? if(jsondata.age==null){ とか書いてみたのですが、うまくいきませんでした

    • ベストアンサー
    • AJAX
  • SMTP.phpについて

    openPNEでメール送信をやらせようとしたところ、 Warning: Mail_smtp::include_once(Net/SMTP.php) [function.Mail-smtp-include-once]: failed to open stream: No such file or directory in [openPNEディレクトリ]lib\include\Mail\smtp.php on line 207 というメッセージが表示されました。 調べてみたところ、PHPディレクトリ以下に当該ファイル(Net/SMTP.php)が存在しません。 どうやら追加しなければいけないようですが、入手先などが不明で困っております。 環境は、Windows2000Pro上でのPHP5.2.1です。 何卒よろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • エラーの意味が分かりません

    こんにちは。 カテゴリが適しているかすら分かりませんが、質問させていただきます。 land.toという無料サーバでHPを作成しています。 すると、広告部分が英字だらけになってしまいました。 色々調べてみると、PHPかPerl関連のエラー?だということが分かりましたが 原因を書いているページに行きつくことができませんでした…。 エラーの全文を載せます。 Warning: include_once() [function.include-once]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /usr/local/apache/htdocs/userad/私のID/ad_f_sjis.p on line 23 Warning: include_once(http://ad.land.to/banner_text.p?en=SJIS) [function.include-once]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /usr/local/apache/htdocs/userad/私のID/ad_f_sjis.p on line 23 Warning: include_once() [function.include]: Failed opening 'http://ad.land.to/banner_text.p?en=SJIS' for inclusion (include_path='.:/usr/local/lib/php') in /usr/local/apache/htdocs/userad/私のID/ad_f_sjis.p on line 23 これは私の設定がおかしいのでしょうか? それとも、サーバ側の問題ですか? CGIを数個設置していますが、関係しているのでしょうか? ちなみに確認する限り、すべてのページに出ています。

    • ベストアンサー
    • PHP
  • PHPエラーについて

    http://.....co.jp/...../test/index-2.php <?php require_once('../../Connections/harada_drag_store.php'); ?>これで正常に表示されるのですが、 http://.....co.jp/...../index-2.php場所を変えようとして下記の通り修正したのですが <?php require_once('Connections/harada_drag_store.php'); ?> 下記のエラーがでました。 Warning: main(Connections/harada_drag_store.php): failed to open stream: No such file or directory in /usr/home/g105427/html/okusuri-navi/index-2.php on line 1 Fatal error: main(): Failed opening required 'Connections/harada_drag_store.php' (include_path='.:/usr/local/lib/php') in /usr/home/g105427/html/okusuri-navi/index-2.php on line 1 教えてください。

    • ベストアンサー
    • PHP
  • require_onceについて

    MAMPを使用して開発しています。 MAMP/htdocsに入っているa.phpから同一階層にあるb.phpを呼びだそうと思い require_once('b.php'); と記述したのですが Warning: require_once(b.php): failed to open stream: No such file or directory in - on line 13 Fatal error: require_once(): Failed opening required 'b.php' (include_path='.:') in - on line 13 とエラーが表示されます。色々と試してみたもののうまくいかず。 アドバイスを宜しくお願い致します。

    • ベストアンサー
    • PHP
  • AJAX+PHPでセレクトボックスの連動

    AJAX+PHPでセレクトボックスの連動をしようとしています。 function SelAjax(){ var x = $('#category1').val(); $.ajax({ type: "POST", url: "category.php", data: {"prm":x}, dataType: "json", success: function(data, status){ $.each(data,function(i) { $('#category2').append($('<option>').attr({ value: i }).text(data[i])); }); }, error: function(XMLHttpRequest, status, errorThrown){ alert("エラーが発生しました!"); } }); } としています。 PHP側で $CATEGORY2 = array( 1 => array( 1 => "a", 2 => "b", 3 => "c", 4 => "d", ), 2 => array( 1 => "e", 2 => "f", 3 => "g", 4 => "h", ), 3 => array( 1 => "i", 2 => "j", 3 => "k", 4 => "l", ), 4 => array( 1 => "m", 2 => "n", 3 => "o", 4 => "p", ), 5 => array( 1 => "q", 2 => "r", ), 6 => array( 1 => "s", 2 => "t", 3 => "u", ), ); $ary = array(); if($_POST["prm"]){ for($i=1;$i<=6;$i++){ if($i ==$_POST["prm"] ) $ary = $CATEGORY2[$i]; } } echo json_encode($ary); としています。 一回目に1番目のセレクトボックスを選択してAjaxでPOSTし2つ目のセレクトボックスを生成できました。 しかし、2回目として1番目のセレクトボックスを選択した際に、1回目にPHPから受け取った配列に積みあがってしまいます。 どのように対処すればいいかわかりません。 教えてください。

    • ベストアンサー
    • AJAX
  • phpMyAdminでPHPのエラーのようなものが出てしまう

    WordPressを使いたいため、現在MySQLとphpMyAdminでデータベースの構築をしているところなのですが、phpMyAdminにアクセスするとPHPのエラーが発生していしまいます。 何か回避方法はありませんでしょうか? エラー↓ Warning: require_once(./libraries/dbi/.dbi.lib.php) [function.require-once]: failed to open stream: No such file or directory in D:\04WebServer\public_html\phpMyAdmin\libraries\database_interface.lib.php on line 18 Fatal error: require_once() [function.require]: Failed opening required './libraries/dbi/.dbi.lib.php' (include_path='.;C:\php5\pear') in D:\04WebServer\public_html\phpMyAdmin\libraries\database_interface.lib.php on line 18 よろしくお願いします。 Windows 2000 Server 04WebServer最新版 PHP 5.25 SQL 5.0(5.0.67) phpMyAdmin 2.6.4-pl2 http://drestyle.dip.jp/test.php

    • ベストアンサー
    • MySQL

専門家に質問してみよう