我过去使用过一些jQuery,但我完全被这个问题困住了。我知道使用同步ajax调用的优点和缺点,但是在这里它是必需的。
加载了远程页面(用firebug控制),但没有显示返回值。
我应该做些什么不同的事情来让我的函数正确返回?
function getRemote() {
var remote;
$.ajax({
type: "GET",
url: remote_url,
async: false,
success : function(data) {
remote = data;
}
});
return remote;
}
当您发出同步请求时,这应该是
function getRemote() {
return $.ajax({
type: "GET",
url: remote_url,
async: false
}).responseText;
}
例如—http://api.jquery.com/jQuery.ajax/#example-3
请注意:将async属性设置为false已弃用,并且正在被删除(链接)。包括Firefox和Chrome在内的许多浏览器已经开始在控制台中打印警告,如果你使用这个:
铬:
主线程上的同步XMLHttpRequest已弃用,因为它会对最终用户的体验产生不利影响。更多帮助,请访问https://xhr.spec.whatwg.org/。
Firefox:
主线程上的同步XMLHttpRequest已弃用,因为它会对最终用户的体验产生不利影响。更多帮助http://xhr.spec.whatwg.org/