在jquery中循环遍历ajax响应

时间:2018-07-16 11:37:35

标签: php jquery ajax loops

我收到了以下ajax响应。

{"ord_item_Json_string":"[{\"code\":\"1002\",\"item\":\"Diamond Softy\",\"size\":\"15 inch\",\"color\":\"Light Blue\",\"qty\":\"2\",\"price\":\"849.45\",\"amount\":\"1698.90\"},{\"code\":\"1001\",\"item\":\"sAMPLE\",\"size\":\"Cob\",\"color\":\"Naturtal\",\"qty\":\"5\",\"price\":\"434.05\",\"amount\":\"2170.25\"}]"}

现在的问题是我只想显示代码和项目字段及值,但我无法显示。请帮助我如何访问该字段。 我的代码如下。

$.ajax({
            url: base_url + 'order_jobcard/getOrderDetails/' + ord_id,
            type: "POST",
            data: JSON.stringify($('ord_id').serializeArray()),
            success: function (data) {
                $("#OrdItem").html(data);
                console.log(data);
                return true;
            },
            error: function () {
                alert('Not Working');
                $('#ord_buyer_pack_inst').empty();
            }

        });

3 个答案:

答案 0 :(得分:1)

尝试一下:

   
        var abc = {"ord_item_Json_string":"[{\"code\":\"1002\",\"item\":\"Diamond Softy\",\"size\":\"15 inch\",\"color\":\"Light Blue\",\"qty\":\"2\",\"price\":\"849.45\",\"amount\":\"1698.90\"},{\"code\":\"1001\",\"item\":\"sAMPLE\",\"size\":\"Cob\",\"color\":\"Naturtal\",\"qty\":\"5\",\"price\":\"434.05\",\"amount\":\"2170.25\"}]"}
        var a = JSON.parse(abc.ord_item_Json_string)
        $.each(a, function(index,value){
            console.log(value.code+'--'+value.item)
        });
    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 1 :(得分:0)

尝试一下:您可以尝试下面的代码,在其中遍历json数组并读取每个属性

$.ajax({
            url: base_url + 'order_jobcard/getOrderDetails/' + ord_id,
            type: "POST",
            data: JSON.stringify($('ord_id').serializeArray()),
            success: function (data) {
                var dataStr = "";
                var jsonData = data.ord_item_Json_string; // this is already json
                jsonData = JSON.parse(jsonData);//value need to parse
             for (var i = 0; i < jsonData.length; i++) {
               var ord= jsonData[i];
                console.log(ord.code);
                dataStr += ord.code;
              }
                $("#OrdItem").html(dataStr);
                console.log(data);
                return true;
            },
            error: function () {
                alert('Not Working');
                $('#ord_buyer_pack_inst').empty();
            }

        });

JSFiddle

答案 2 :(得分:0)

尝试下面的代码...在成功回调中,您将获取json对象格式的数据。因此只需使用其键即可获得价值。

 $.ajax({
    url: base_url + 'order_jobcard/getOrderDetails/' + ord_id,
    type: "POST",
    data: JSON.stringify($('ord_id').serializeArray()),
    success: function (jsonResponse) {


       var itemsList = jsonResponse.ord_item_Json_string;
       $.each(itemsList, function (index, value) {

           console.log(value.code + '--' + value.item);
        });
    },
    error: function (jqXHR, textStatus, errorThrown) {
        console.log("error");
    }
});