我有这个函数,我从另一个函数
中调用function CheckForSession() {
var str="chksession=true";
jQuery.ajax({
type: "POST",
url: "chk_session.php",
data: str,
cache: false,
success: function(res){
if(res == "0") {
alert('Your session has been expired!');
}
}
});
}
如果响应等于0,如何使整个函数CheckForSession 返回false?
P.S。在我的应用程序中,对此函数的响应只能是1或0。
答案 0 :(得分:3)
由于AJAX请求的异步性,您无法做到这一点。
最适合您的方法是使用promises:
function CheckForSession() {
var str="chksession=true";
return jQuery.ajax({
type: "POST",
url: "chk_session.php",
data: str,
cache: false,
success: function(res){
blabla = res;
if(res == "0") {
alert('Your session has been expired!');
}
}
});
}
CheckForSession().then(function(data) {
// successful
}, function() {
// error
})
默认情况下, jQuery.ajax
返回promise对象,当ajax请求完成时我将被解析。然后,您可以根据结果编写您的操作