2011-08-13 22 views
1

jqueryでajax関数を使用して、json_encode関数を使用してPHPスクリプトからいくつかの値を返します。返されたデータはスラッシュ、引用符、\ r \ nでいっぱいです。 stripslashesやmagic_quotes(これはオンになっています)で何か問題が起こっているはずですが、きれいな出力を得ることができないようです。Jquery AJAX PHPデータ返信

+5

コードを追加できますか? – ManseUK

+0

JSONは引用符でいっぱいであり、コンテンツのエスケープをたくさん必要とするので、それはきれいかもしれません。 JSON.org、jsonlint.comのようなツールでJSONを検証できます –

+0

私たちにコードをお願いします。 –

答えて

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); 「バー」と表示されたダイアログボックスが表示されます。

関連する問題