0

PHPから配列を送信し、json_encodeAJAXとjQueryを使用して取得しようとしています。全て大丈夫。

JSON構造は次のとおりです。

names{"p1":"John","p5":"Smith"}

jQueryコードは:

$.ajax({
type: "POST",
url: "return.php",
dataType: "json",
data: "id=56",
success: function(data) {
        $(data.names).each(function(key, txt) {
            alert(txt);
        });
    }
}

このコードは何も返しません!ブラウザが入らないと思いますeach

私は何をすべきか ?

4

3 に答える 3

3

代わりにこれ:

$(data.names).each(function(key, txt) {
    alert(txt);
});

これを使って:

$.each(data.names, function(key, txt) {
    alert(txt);
});

あなたが言ったようにあなたのjsonは間違っているようです:names{"p1":"John","p5":"Smith"}

これは次のようになります。

{
    "names": {
        "p1": "John",
        "p5": "Smith"
    }
}

ここでjsonを確認できます:http://jsonlint.com/

于 2012-12-16T17:36:56.110 に答える
1

コードでは、 parseJSON()を使用できます。

    $ .ajax({
    タイプ:「POST」、
    url: "return.php"、
    dataType: "json"、
    データ: "id = 56"、
    成功:function(data){
        var d = jQuery.parseJSON(data);
        //...何かをする
    }
    });

于 2012-12-16T18:15:40.350 に答える
1

jQueryの$.getJSON();を使用することをお勧めします。http://api.jquery.com/jQuery.getJSON/ しかし、あなたの質問に直接答えるために; ajax()関数を閉じていません。

$.ajax({
type: "POST",
url: "return.php",
dataType: "json",
data: "id=56",
success: function(data) {
        $(data.names).each(function(key, txt) {
            alert(txt);
        });
    }
});
于 2012-12-16T17:38:56.910 に答える