使用Ajax成功处理程序返回JSON对象
问题描述:
我正在使用Ajax命令从本地服务器查询数据,并且需要通过成功处理程序返回JSON对象。使用Ajax成功处理程序返回JSON对象
我阿贾克斯命令如下:
var json = $.ajax({
url: 'http://localhost:9200/wcs/routes/_search',
type: 'POST',
data: JSON.stringify({
"query": {
"match_all": {}
}
}),
dataType: 'json',
async: false
});
我想在我已经赋值的变量返回的JSON文件:json
我可以做这样的事情的命令? (我知道这是不正确的代码):
success: return(json);
});
答
你接近,
var json;
$.ajax({
url: 'http://localhost:9200/wcs/routes/_search',
type: 'POST',
data :
JSON.stringify(
{
"query" : { "match_all" : {} }
}),
dataType : 'json',
async: false,
success: function(data){
json = data;
}
})
console.log(json);
但async: false
是一个坏主意,所以我建议使用回调内部JSON。
$.ajax({
url: 'http://localhost:9200/wcs/routes/_search',
type: 'POST',
data :
JSON.stringify(
{
"query" : { "match_all" : {} }
}),
dataType : 'json',
//async: false,
success: function(data){
console.log(data);
}
})
+0
谢谢Kevin!这完美的作品!如果我可以的话,我会向上箭头... – 2013-04-09 15:13:04
答
Success
期待的,如果请求成功时调用的函数。
你可以这样做:
var json:
....
....
success: function(data){
json = data;
}
});
答
var arr = new Array();
success: function (data) {
$.map(data, function (item) {
arr.push({
prop_1: item.prop_1,
prop_2: item.prop_2,
prop_3: item.prop_3
});
});
}
可以重命名prop_1,prop_2 VS到你的代码隐藏
就快,我建议你在成功的函数把'json'并确保其不为空 – chriz 2013-04-09 14:51:47
你应该看看这个问题:http://stackoverflow.com/q/14220321/218196。 – 2013-04-09 15:01:55