如何返回jquery ajax成功结果
function name (LevelId) {
var passobj = null;
$.ajax({
url: 'GetValues' + '/?LevelId=' + LevelId,
type: "POST",
dataType: "json",
contentType: 'application/json',
async: false,
success: function (result) {
passobj = result;
},
complete: function () { },
error: ServiceFailed// When Service call fails
});
return passobj;
}
returned =name(id);
答案 0 :(得分:3)
这对我有用
ajaxCall(urls, data).success(function(data){
// get the result
});
function ajaxCall(url, data){
var result;
return $.ajax({
type: 'POST',
url: url,
data: data
});
}
答案 1 :(得分:0)
这不起作用,因为ajax请求是异步执行的,这意味着你的函数返回null
- 在检索到服务器的响应之前不会调用成功事件处理程序(可能需要一些时间) 。您需要使用事件重构代码。
function name(id, callback) {
$.ajax({
...
success: callback
});
}
name(17, function(returned) {
// work with the response...
});
编辑抱歉,没有注意到您设置async: false
- 在这种情况下,如果我不再错过任何内容,您的代码实际上应该可以正常工作。< / p>