从Ajax响应中解析JSON对象

时间:2016-07-05 20:41:55

标签: php json ajax

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

这是我的代码:

library(highcharter)
highchart() %>% 
  hc_chart(type = "pie") %>% 
  hc_plotOptions(
    series = list(showInLegend = TRUE)
  ) %>% 
  hc_add_series(data = list(
    list(y = 3, name = "cat 1"),
    list(y = 4, name = "cat 2")
    )
  )

我的返回数据是一个对象

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

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

我如何完成这些并将它们全部写出来?

1 个答案:

答案 0 :(得分:0)

  

我认为您已经获得了JSON编码<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <button>Start Animation</button> <div style="position:absolute;"> <img src="http://lorempixel.com/200/200" /> </div>,因此您可以使用以下代码直接遍历响应

data
  

关于通过PHP解析

您似乎已经在PHP中解析数组并将JSON作为响应返回。如果您在PHP中有原始JSON数据,那么您可以使用... success: function(data) { $.each(data, function(key,value) { alert(value.code[0] + '---' + value.date[0]); //and so on }); } ... 将其转换为数组,并遍历数组以执行您希望对数据执行的任何操作。