Javascript 无法从$.ajax迭代json数组
在将数据分配给视图页上的div时,我遇到了一些问题。 代码如下所示:Javascript 无法从$.ajax迭代json数组,javascript,jquery,json,ajax,razor,Javascript,Jquery,Json,Ajax,Razor,在将数据分配给视图页上的div时,我遇到了一些问题。 代码如下所示: $.ajax({ url: "/api/Flight/SearchFlight", type: "Post", data: $('form').serialize() + '&' + $.param({ 'TokenId': $("#pageInitCounter").val() }, true), success: function(data) { alert(data);
$.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,我可以在我的页面上完美地看到整个数据。
我得到的回复样本是一个巨大的数据,所以我发布了它的链接
现在我想遍历每一个数据,但无法做到。
例如:
那么错误是:
UncaughtTypeError:无法读取未定义的属性“ResponseStatus”
请有人告诉我这里出了什么问题。为什么我不能在响应中迭代数据使用Json数据类型..我在这里写了一个示例
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
使用Json数据类型..我在这里编写了一个示例
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
您将以字符串的形式返回响应,但尝试将其作为javascript对象进行操作 你可以做两件事中的一件
第一种方法应该简单到在请求上设置
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);
});
您将以字符串的形式返回响应,但尝试将其作为javascript对象进行操作 你可以做两件事中的一件
第一种方法应该简单到在请求上设置
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);
});
您可能将数据作为字符串而不是json对象获取。尝试向ajax请求添加数据类型:“json”。或者使用data=JSON.parse(数据)@Adder尝试了u所说的“$.ajax({url:/api/Flight/SearchFlight”),类型:“Post”,数据类型:“json”,`尝试了这个,但仍然是相同的错误,是的,我想我是以字符串的形式返回数据。您可能是以字符串的形式获取数据,而不是作为json对象。尝试将数据类型:“json”添加到ajax请求中。或者使用data=json.parse(data);@Adder尝试了您所说的`$.ajax({url:“/api/Flight/SearchFlight”,type:“Post”,dataType:“json”,`尝试了这个,但仍然是相同的错误,是的,你是对的,我想我正在以stringjustice json的形式返回数据。解析技巧完成了工作非常感谢你sir@jamiecjustice json。解析技巧完成了工作非常感谢你sir@Jamiec