如何在每个索引值中分配索引值?

时间:2019-07-28 17:25:27

标签: jquery json each getjson

我正在尝试在页面上打印json数据。我的json数据就是这样。

{
    "cars": [
        {
            "id": "1",
            "title": "bmw",
            "model": "3.20i",
            "price": "200$"
        },
        {
            "id": "2",
            "title": "mercedes",
            "model": "c200",
            "price": "500$"
        }
    ]
}

这就是我将Json数据带到页面的方式。

$(document).ready(function() {
        var url = "json.php";
        $.getJSON(url, function(data) {
            $.each(data, function(index, output) {
                var id = output.id;
                var title = output.title;
                var duration = output.model;
                var price = output.price;
                $("#listview").append("+ id + title +  model +  price +");
            });
        });
    });

输出就是这种方式。

undefined undefined undefined undefined

我可以循环使用吗?例如;

1 bmw 3.20i 200$
2 mercedes c200 500$

2 个答案:

答案 0 :(得分:0)

$(document).ready(function() {
    $.ajax({
        url: 'json.php',
        method: 'POST',
        success : function(output) {              
            alert(`Data: ${output}`);
            output = output.map(val => {
                return `${val.id} ${val.title} ${val.model} ${val.price}`;
            }).join('<br/>');
            $("#listview").append(output);
        },
        error : function(request,error) {
            alert("Request: "+JSON.stringify(request));
        }
    });
});

答案 1 :(得分:0)

似乎您在这里缺少关闭。您可以围绕值创建一个闭包。最简单的方法是针对每个循环。

$.getJSON(url, function(data) {
if(Array.isArray(data)) {
    data.forEach((values, index) => {
        const listText = `${values.id} ${values.title} ${values.model} ${values.price}`
        $("#listview").append(listText);
    })
}});