Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据AJAX响应使函数返回false_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 根据AJAX响应使函数返回false

Javascript 根据AJAX响应使函数返回false,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个从另一个函数中调用的函数 function CheckForSession() { var str="chksession=true"; jQuery.ajax({ type: "POST", url: "chk_session.php", data: str, cache: false, suc

我有一个从另一个函数中调用的函数

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请求的异步性质,您不能这样做

您的最佳解决方案是使用:

默认情况下,
jQuery.ajax
返回promise对象,当ajax请求完成时,我就被解析了。然后,您可以根据结果编写操作


由于AJAX请求的异步性质,您不能这样做

您的最佳解决方案是使用:

默认情况下,
jQuery.ajax
返回promise对象,当ajax请求完成时,我就被解析了。然后,您可以根据结果编写操作


你不能,因为jQuery.ajax是异步的。。。人们会告诉您设置
async:false
——但最好是学习如何编写正确使用异步行为的代码。您应该使用本机http状态代码。返回的任何错误都将使jquery触发错误事件,您可以在其中处理403。检查应用程序中的任何ajax请求应该是标准做法<代码>标题(“HTTP/1.0 403未经授权”)您可以将回调fn传递给CheckForSession,在ajax的成功/错误中,您可以决定调用还是不调用,因为jQuery.ajax是异步的。。。人们会告诉您设置
async:false
——但最好是学习如何编写正确使用异步行为的代码。您应该使用本机http状态代码。返回的任何错误都将使jquery触发错误事件,您可以在其中处理403。检查应用程序中的任何ajax请求应该是标准做法<代码>标题(“HTTP/1.0 403未经授权”)您可以将回调fn传递给CheckForSession,在ajax的成功/错误中,您可以决定调用还是不调用
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
})