我正在努力让这个功能起作用。我认为这个功能非常自我解释:
function FileExists(path){
var result = false;
$.ajax({
url: "http://mydomain.com/"+path,
type: "HEAD",
success:
function(){
result = true;
}
});
return result;
}
我需要在ajax post成功时调用的匿名函数,将在FileExists函数中定义的变量“result”设置为true,以便我可以从FileExists函数返回该值。我想我需要一个关闭,但他们混淆了我的地狱。
请帮忙! 谢谢!
答案 0 :(得分:3)
这不是一个范围问题,而是因为$.ajax
是异步的,这意味着FileExists
将在return
完成之前$.ajax
。您应该做的是将所有依赖result
的代码移到success
回调中。
答案 1 :(得分:2)
Ajax调用默认是异步的,您可以使用回调函数:
$.ajax({
url: "http://mydomain.com/"+path,
type: "HEAD",
success: function(){
callback(true);
}
});
或同步拨打电话。
$.ajax({
async: false,
url: "http://mydomain.com/"+path,
...