$ .each循环中的getJSON显示值

时间:2018-05-29 19:27:19

标签: jquery json

我在jQuery $ .each循环中无法获得正确的值。

        function suggestit() {
            var value = $input.val();

            $.getJSON( "ajax.php?search=" + value + "?suggested_size=5&mode=game", function( data ) {
                $.each(result, function(i, field){
                    $("#results").append("<p>" + field + "</p>");
                });
            });
        }

当用户停止在suggestit()文本字段中输入时,系统会调用$input函数。

然后应显示JSON文件中的所有游戏。

JSON看起来像这样:

["data"]=>
    ["attributes"]=>
        // snip
    ["included"]=>
        [0]=>
                ["name"]=>
            string(31) "Grand Theft Auto: San Andreas®"
        [1]=>
                ["name"]=>
            string(31) "Grand Theft Auto V"

我想在$ .each name中显示JSON中的field值。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

您必须始终指明要返回的元素的索引。尝试调试索引以查看数组的正确顺序

function suggestit() {
        var value = $input.val();

        $.getJSON( "ajax.php?search=" + value + "?suggested_size=5&mode=game", function( data ) {
            $.each(result, function(i, field){
                /** for example */
                $("#results").append("<p>" + field.included[i].name + "</p>");
            });
        });
    }

答案 1 :(得分:0)

游戏数组位于included属性中,但您并未循环使用该属性。游戏名称位于name属性中。

$.each(result.included, function(i, el) {
    $("#results").append("<p>" + el.name + "</p>");
}