如何阻止ajax调用(我希望它阻止)

Pon*_*oni 7 javascript ajax

Ajax使用回调,因为它是A同步的.

我想我的调用远程URL阻塞,直到有一些答案,正是因为在阿贾克斯,但没有异步一部分,或者我会说我要打个电话JAX.

是否有任何技术可以实现以下功能(使用JQuery)(...使用JQuery或其他任何解决方案):

function get_data() {
    $.ajax({
        type : "POST",
        url : "/foo"
    }).done(function(data, textStatus, jqXHR) {
        return data;
    }).fail(function(jqXHR, textStatus) {
        return null;
    });
}

var data = get_data();
// process `data`
Run Code Online (Sandbox Code Playgroud)

我只是想知道 - 想学习.

实际上有时会阻止,直到答复适合.我不是说我希望浏览器阻止,只是脚本运行时.

Mar*_*coK 10

您可以async : false在使用jQuery时设置布尔值(查看文档).请注意:从jQuery 1.8开始,不推荐使用async:false和jqXHR($ .Deferred); 您必须使用完整/成功/错误回调.

如果您不想使用jQuery或想知道幕后发生了什么,请阅读此内容.

xmlhttp.open("GET","ajax_info.txt",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
Run Code Online (Sandbox Code Playgroud)

不知道为什么你不希望它是异步但...