我想创建一个 JavaScript 函数,它返回 jQuery AJAX 调用的值。我想要这样的东西。
function checkUserIdExists(userid){
return $.ajax({
url: 'theurl',
type: 'GET',
cache: false,
data: {
userid: userid
},
success: function(data){
return data;
}
});
}
我知道我可以通过将 async 设置为 false 来做到这一点,但我宁愿不这样做。
您无法返回 AJAX 调用返回的数据,除非您想同步调用它(并且您不相信我)。但你可以返回的是promiseAJAX 调用返回的数据,您实际上可以以非常优雅的方式完成它。
(UPDATE:请注意,目前 jQuery Promises 与承诺/A+规范 http://promises-aplus.github.io/promises-spec/- 更多信息在这个答案 https://stackoverflow.com/questions/5316697/jquery-return-data-after-ajax-call-success/5316805#5316805.)
基本上你可以返回 $.ajax(...) 调用的返回值:
function checkUserIdExists(userid){
return $.ajax({
url: 'theurl',
type: 'GET',
cache: false,
data: {
userid: userid
}
});
}
调用你的函数的人可以像这样使用它:
checkUserIdExists(userid).success(function (data) {
// do something with data
});
See 我的这篇文章 https://stackoverflow.com/questions/5111695/jquery-jqxhr-cancel-chained-calls-trigger-error-chain/5112734#5112734如果您有兴趣,可以获取更好的解释和演示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)