1

次のような JSON があります。

response = [
  {"FIRSTNAME":"Richard","ACCOUNT":5555,"ID":"5056","LASTNAME":"Harris"},  
  {"FIRSTNAME":"Gary","ACCOUNT":4444,"ID":"DFC7","LASTNAME":"Coles"},
  {"FIRSTNAME":"Jeff","CORPORATEACCOUNT":3333,"ID":"7F31","LASTNAME":"Hopper"},
  {"FIRSTNAME":"Jack","ACCOUNT":2222,"ID":"E051","LASTNAME":"Canrell"},
  {"FIRSTNAME":"Tim","ACCOUNT":1111,"ID":"5056","LASTNAME":"Johns"}
]

それをループして各ユーザーの行を表示する必要がありますが、jQuery が機能していません。私は何を間違っていますか?

$.ajax({
    type: "POST",
    url: "/my-controller/my-method?format=json",
    data: {id: id},
    dataType: "json",
    success: function(response) {
        var resultHtml = '';
        $.each(response, function(i, response) {
            $.each(response, function(property, value) {
            resultHtml += value + '\n';
        });
        });

        alert(resultHtml);
    }
});

したがって、これは反響します:

Richard
5555
5056
Harris
Gary
4444
DFC7
Coles
etc.
etc.
etc.

JSON はコントローラーから返されていますが、ループしてこれを取得するにはどうすればよいですか?

Richard harris 5555 5056
Gary Coles 4444 DFC7
Jeff Hopper 3333 7F31
Jack Canrell 2222 E051
Tim Johns 1111 5060
4

3 に答える 3

8

2回目は必要ありません$.each。オブジェクトがあります。必要なフィールドを使用するだけです。

$.each(response, function(i, value) {
    resultHtml += value.FIRSTNAME + value.LASTNAME + value.ACCOUNT + value.ID + '\n';
});
于 2012-11-19T18:50:43.177 に答える
0
$.ajax({
    type: "POST",
    url: "/my-controller/my-method?format=json",
    data: {id: id},
    dataType: "json",
    success: function(response) {
        var resultHtml = '';
        $.each(response, function(i, row) {
            resultHTML += row.FIRSTNAME + " " + row.LASTNAME + " " + row.ACCOUNT + " " + row.ID + "\n";
        });
        alert(resultHtml);
    }
});
于 2012-11-19T18:52:43.313 に答える
0

最初に JSON を解析する必要があります。JSON.parse(response); を試してください。繰り返し処理できるオブジェクトを作成します。

于 2012-11-19T18:50:36.100 に答える