这个问题已经在这里有了答案 :
如何从异步调用返回响应? (39个答案)
7年前关闭。
我想创建一个JavaScript函数,该函数返回jQuery AJAX调用的值。我想要这样的东西。
function checkUserIdExists(userid){ return $.ajax({ url: 'theurl', type: 'GET', cache: false, data: { userid: userid }, success: function(data){ return data; } }); }
我知道我可以通过将async设置为false来做到这一点,但我宁愿不这样做。
使用jQuery 1.5,您可以使用全新的$.Deferred功能,正是为此目的而设计的。
$.Deferred
// Assign handlers immediately after making the request, // and remember the jqxhr object for this request var jqxhr = $.ajax({ url: "example.php" }) .success(function() { alert("success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); }); // perform other work here ... // Set another completion function for the request above jqxhr.complete(function(){ alert("second complete"); });
资源