jqueryでajax関数を使用して、json_encode関数を使用してPHPスクリプトからいくつかの値を返します。返されたデータはスラッシュ、引用符、\ r \ nでいっぱいです。 stripslashesやmagic_quotes(これはオンになっています)で何か問題が起こっているはずですが、きれいな出力を得ることができないようです。Jquery AJAX PHPデータ返信
1
A
答えて
3
jQueryからのajax呼び出しを確認してください。 jsonの応答。あなたがプレーンテキストを返して、それを手動で解析しようとしているように思えます。 JSONエンコードされた出力を:
$.ajax({
url: "myscript.php",
dataType: "json",
success: function(data){
console.log(data); //this line only works with chrome (stock) or FireFox (with FireBug plugin)
}
});
このコードは(Pあなたが放火犯とクロムやFFを持っていない場合は、そのうちの一つを取りに行く)あなたのコンソールにエコーされます。
header('Content-type: application/json');
echo json_encode($myAssociativeArrayOfData);
exit; //make sure nothing else happens to output something
あなたは特別なフォーマットやスラッシュを使用する必要はありません:PHPからあなたの出力は、あなたがやるべきことのすべてが、このときに覚えておいてください。 jsonコードが適切なヘッダーを持つjsonコードとして出力され、jQueryのajax関数がそれを変換する必要があることを確認してください。結果はあなたのjsonオブジェクト(php配列)である成功関数のデータ変数になります。したがって、PHPで配列( 'foo' => 'bar')のような配列を渡した場合、jqueryの成功関数では次のように入力できます:alert(data.foo); 「バー」と表示されたダイアログボックスが表示されます。
関連する問題
コードを追加できますか? – ManseUK
JSONは引用符でいっぱいであり、コンテンツのエスケープをたくさん必要とするので、それはきれいかもしれません。 JSON.org、jsonlint.comのようなツールでJSONを検証できます –
私たちにコードをお願いします。 –