Ajax使用回调,因为它是A同步的。
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`
我只是想知道-想学习。
实际上,有时会阻塞直到回复合适为止。我并不是说要浏览器阻止,而只是脚本运行时。
您可以async : false在使用jQuery时简单地设置布尔值(请检查docs)。注意: 从jQuery 1.8开始,不建议使用async:false和jqXHR($ .Deferred); 您必须使用complete / success / error回调。
async : false
如果您不想使用jQuery或想了解引擎盖下发生的事情,请阅读此书。
xmlhttp.open("GET","ajax_info.txt",false); xmlhttp.send(); document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
不要怀疑为什么您不希望它异步…