我正在尝试执行 ajax 请求以获取数据并将其输入到函数 parse()
中。该函数在我不使用 ajax 时有效,但当我使用 ajax 时,它不起作用。
$.get(url,function(data){
parse(data);
});
ajax 响应:
{"all":
{label: "All",
data: [
["11/30/2012",12],null,null,null,["01/24/2013",1442],["01/25/2013",1561]
]
}
};
但是,当我这样调用我的解析函数时,它起作用了:
var data = {"all":
{label: "All",
data: [
["11/30/2012",12],null,null,null,["01/24/2013",1442],["01/25/2013",1561]
]
}
};
parse(data);
我什至尝试在我的 ajax 响应中的文本前面添加 data =
,但函数仍然无法识别它。
有人知道如何从 ajax 请求返回对象吗?
最佳答案
使用 $.getJSON函数,这将使响应被解析为 JSON。
$.getJSON(url,function(data){
parse(data);
});
或使用 get()
并指定 dataType
参数。 dataType
表示服务器期望返回的数据类型。
$.get(url,function(data){
parse(data);
}, "json");
同时考虑重新格式化 JSON 以使其有效(在属性名称周围使用引号):
{
"all": {
"label": "All",
"data": [
[
"11/30/2012",
12
],
null,
null,
null,
[
"01/24/2013",
1442
],
[
"01/25/2013",
1561
]
]
}
}
关于javascript - 从ajax请求返回一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21272060/