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

how to block on ajax call (I want it to block)

本文关键字:我希望 ajax 调用      更新时间:2023-09-26

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`

我只是想知道 - 想学习。

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

你可以在使用 jQuery 时简单地设置布尔值async : false(查看文档(。请注意:从 jQuery 1.8 开始,使用 async: false 和 jqXHR ($.延迟(已弃用;必须使用完成/成功/错误回调。

如果你不想使用jQuery或想知道幕后发生了什么,请阅读这篇文章。

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

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