我有一个从另一个函数中调用的函数
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?
附注在我的应用程序中,对此函数的响应只能是 1 或 0。
最佳答案
由于 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 请求完成时 i 被解析。然后你可以根据结果编写你的操作
关于javascript - 使函数根据 AJAX 响应返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34132062/