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`
我只是想知道 - 想要学习。
实际上有时候会有阻止,直到答复完全正常。我不是说我希望浏览器阻止,只是脚本运行时。
答案 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;
不知道为什么你不希望它变得异步但是......