我正在尝试执行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请求中返回一个对象?
答案 0 :(得分:4)
使用$.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
]
]
}
}