我想创建一个返回jQuery AJAX调用的值的JavaScript函数。我想要这样的东西。
function checkUserIdExists(userid){
return $.ajax({
url: 'theurl',
type: 'GET',
cache: false,
data: {
userid: userid
},
success: function(data){
return data;
}
});
}
我知道我可以通过将async设置为false来做到这一点,但我不希望这样做。
发布于 2011-03-01 12:57:00
您可以传入回调函数:
function checkUserIdExists(userid, callback) {
$.ajax({
...
success: callback
});
}
checkUserIdExists(4, function(data) {
});
发布于 2012-06-20 09:55:38
从jQuery 1.8开始,不推荐使用success、error和complete回调。相反,你应该使用"done","fail“和"always”。
所以你可以:
function checkUserIdExists(userid, callback) {
return $.ajax({
url: 'theurl',
type: 'GET',
cache: false,
data: {
userid: userid
}
})
.done(callback)
.fail(function(jqXHR, textStatus, errorThrown) {
// Handle error
});
}
checkUserIdExists(2, function(data) {
console.log(data); // Do what you want with the data returned
});
发布于 2011-03-01 12:54:49
这并不是JavaScript异步编程的真正目的。相反,在成功函数中使用回调来调用另一个函数,以使用从服务器返回的数据。
https://stackoverflow.com/questions/5150571
复制相似问题