簡體   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