繁体   English   中英

无法从$ .ajax遍历json数组

[英]unable to iterate through json array from $.ajax

我在查看页面上将数据分配给div时遇到了一些问题。 代码是这样的:

$.ajax({
  url: "/api/Flight/SearchFlight",
  type: "Post",
  data: $('form').serialize() + '&' + $.param({
    'TokenId': $("#pageInitCounter").val()
  }, true),
  success: function(data) {
    alert(data);
    $('#responsestatus').text(data.Response);
    $('#divResult').html(data);
  });

如您所见,在这里,我可以在警报框中看到整个数据。 另外,我已经将整个数据分配给div,并且可以在页面上完美地看到整个数据。 我得到的样本响应是一个巨大的数据,因此我为此发布了链接http://pastebin.com/eEE72ySk

现在,我想遍历每个数据,但是无法做到。 例:

 $('#responsestatus').text(data.Response.ResponseStatus); 

然后错误是:

UncaughtTypeError:无法读取未定义的属性“ ResponseStatus”

请有人告诉我这里有什么问题。 为什么我不能遍历数据以响应

使用Json数据类型。.i在这里写了一个示例。

$.ajax({
  dataType: "json",
  url: url,
  data: data,
  success: success
});

您正在以字符串形式返回响应,但尝试像对JavaScript对象一样对其进行操作。

您可以做两件事之一

  1. 告诉服务器您希望返回json数据
  2. 接收到后,将字符串响应解析为json。

第一个应该像在请求上设置datatype属性一样简单

$.ajax({
  url: "/api/Flight/SearchFlight",
  type: "Post",
  datatype: 'json',
  data: $('form').serialize() + '&' + $.param({
    'TokenId': $("#pageInitCounter").val()
  }, true),
  success: function(data) {
    $('#responsestatus').text(data.Response.ResponseStatus);
  });

第二个涉及使用前解析响应

$.ajax({
  url: "/api/Flight/SearchFlight",
  type: "Post",
  data: $('form').serialize() + '&' + $.param({
    'TokenId': $("#pageInitCounter").val()
  }, true),
  success: function(data) {
    var result = JSON.parse(data);
    $('#responsestatus').text(result.Response.ResponseStatus);

  });

暂无
暂无

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

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