繁体   English   中英

从Ajax响应中解析JSON对象

[英]Parse JSON object from Ajax response

我正在使用Ajax从外部API检索响应。

这是我的代码:

<script type="text/javascript">
$("document").ready(function(){
  $(".nd-tracking").submit(function(){
    var data = {
      "action": "test"
    };
    data = $(this).serialize() + "&" + $.param(data);
    $.ajax({
      type: "POST",
      dataType: "json",
      url: "nd-request.php", 
      data: data,
      success: function(data) {
        $(".the-return").html(
          "<pre>" + data["json"] + "</pre>"
        );

        var obj = data["json"];
        for (var key in obj) {
          if (obj.hasOwnProperty(key)) {
            console.log(key + " -> " + obj[key]);
          }
        }
      }
    });
    return false;
  });
});
</script>
</head>
<body>
<form action="nd-request.php" method="post" class="nd-tracking">
    Consignment ID: <input type="text" value="" placeholder="Consignment ID" name="consignmentid"><br>
<input type="submit" name="submit" id="submit">
</form>

<div class="the-return">

</div>

我返回的数据是一个对象

[
{"code":{"0":"BKD"},"date":{"0":"2016-06-30"},"time":{"0":"08:51:33"},"trackEvent":{"0":"Magda Sliwa"}},
{"code":{"0":"ACC"},"date":{"0":"2016-06-30"},"time":{"0":"11:59:43"},"trackEvent":{"0":"Depot"},"carrierEvent":"accepted"},
{"code":{"0":"CRD"},"date":{"0":"2016-07-01"},"time":{"0":"09:56:00"},"carrierEvent":"Closed \/ carded"}
]

我用来格式化我的Ajax请求。 此外,是否可以从Ajax请求返回JSON并通过PHP解析它?

我如何通过这些并将它们全部写出来?

我认为您已经获得了JSON编码data ,因此您可以使用以下代码直接遍历响应

...

success: function(data) {
    $.each(data, function(key,value) {
      alert(value.code[0] + '---' + value.date[0]); //and so on
    });
}

...

关于通过PHP解析

看来你已经在PHP中解析数组并将JSON作为响应返回。 如果您在PHP中有原始JSON数据,那么您可以使用json_decode($data)将其转换为数组,并遍历数组以执行您希望对数据执行的任何操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM