2016-11-20 13 views
0

私はPHPのAjaxのリクエストを行うにしようとしていますが、私は、私はconsole.logphpへのAjaxリクエストが失敗しましたか?

を持って成功部分を取得していないとして、失敗すると思われるいくつかの未知の理由のために、誰もが私に何をいくつかのヒントを与えてくださいすることができこれと一緒にwronかもしれない、私はあまりにも長い間立ち往生していますか?ここで

は私のjQueryがどのように見えるかです:

getPending(); 
function getPending(){ 
var usernameLS = localStorage.getItem('userNameLS'); 
var userTypeLS = localStorage.getItem('isAdminLS'); 

    if (userTypeLS!=1) { 
     console.log("inside");//i am getting here 
     $.ajax({ 
      type: "POST", 
      dataType: 'json', 
      url: 'get-pending.php', 
      data: { 
       data: usernameLS //this is a string, "user2" for instance 
      }, 
      success: function(data) { 
       console.log("Thanks!!!",data);//i never got here 

      }, 
      failure: function() { 
       console.log("Error!"); 
       alert(' Fail'); 
      } 
     }); 
     } 

そして、ここでは私のPHPです:あなたの出力は正しいJSON形式ではありませんように

<?php 
$string = file_get_contents("appointments.json"); 
$usernameAjax = $_POST['data']; 
var_dump($usernameAjax); 
$json_a = json_decode($string, true); 
$isPending; 
foreach ($json_a as &$json_r) { 
    if ($usernameAjax==$json_r['userName'] && $json_r['status'] = "Pending") { 

     $isPending = 1; 
     } 
     else{ 
     $isPending = 0; 
     } 
} 
var_dump($isPending); 
echo $isPending; //i tried with a hardcodede 1 or 0 zero. Didn't work. 
?> 
+0

は、障害機能(エラー)に追加してerror.messageをログに書かれた後に任意の出力を避けるために、代わりにエコー($出力)ダイ($出力)を使用することができます。 –

+0

PHPファイルの最上部に 'error_reporting(E_ALL);'ステートメント – bodi0

+0

エラーを記録しません。あなたはJSONをrequestiingが、JSON –

答えて

1

は思えので、クライアント側では受け取ったかを理解カント。

最初に削除しますvar_dump、とにかくjson形式を破棄します。

2番目の出力はまたはです。これは正しいjsonでもありません。 json_encodeを使用して応答を正しくフォーマットしてください。

第三者のPHPファイルには、後で?>の後に末尾の記号が含まれることがあります。これらの記号も出力に付加され、出力形式を壊す可能性があります。 ?>でPHPを終了しないでください。さらに、あなたのデータは

関連する問題