2016-04-14 15 views
0

私はChromeの開発ツールを使用していますが、何らかの理由でconsole.logコードの一部が機能しません。私はこのようなコードを持っています:jquery ajax関数内でconsole.logが機能しない

$(document).ready(function() { 
    console.log("wtf"); //this shows in the console 
    $.ajax({ 
    url: 'get_data.php', 
    type: 'GET', 
    dataType: 'JSON', 
    success: function(data) { 
     console.log(data); //this does not show in the console. 
    } 
    }); 
}); 

私は自分のネットワークタブで見ることができるので、私のPHPファイルからデータが送信されていることがわかります。

Console.logも他のコードとうまく動作しています。何が起きてる?

EDIT:

どうやら、それが原因でデータの問題の私success関数になっていません。私はPHPコードを変更し、適切なデータを表示するためにconsole.logを取得することができました。

なぜ、successハンドラが動作しないのですか?私のPHPの関連部分は次のとおりです。

$result = $dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC); 
$json= json_encode($result); 
$someArray = json_decode($json, true); 
    foreach ($someArray as $key => $value) { 
    echo $value["category"] . ", "; 
    } 
+0

あなたのPHPファイルは何を返すのですか? – Ronnie

+0

明らかに、私は何か正しいことをしていない。私のPHPはカンマ区切りの値の文字列を返すことになります。私はデータを正しく呼んでいないと確信しています。 – jonmrich

+0

JSの返答を待っていて、PHPでJSONを返していないとJSに伝えています。 – Ronnie

答えて

0

PHPデータをエコーするのではなく、返す必要があります。

したがって、このような何か:

$json = json_encode($result); 
return $json; 

これは、あなたのAjaxの呼び出しに戻ってあなたの$ JSON配列を返しますし、あなたがそこにデータを操作することができるようになります。また、コンソールログが正しく表示されます。

関連する問題