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

时间:2012-08-31 10:54:20

标签: javascript ajax

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

我想要远程URL阻止,直到有一些答案,就像在Ajax中一样,但是没有异步部分,或者我要说我想要进行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`

我只是想知道 - 想要学习。

实际上有时候会有阻止,直到答复完全正常。我不是说我希望浏览器阻止,只是脚本运行时。

1 个答案:

答案 0 :(得分:10)

使用jQuery(check the docs)时,您可以简单地设置async : false布尔值。请注意:从jQuery 1.8开始,不推荐使用async:false和jqXHR($ .Deferred);您必须使用完整/成功/错误回调。

如果您不想使用jQuery或想知道幕后发生了什么,read this

xmlhttp.open("GET","ajax_info.txt",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

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