![](/img/trans.png)
[英]JS, function returns undefined instead of true or false
[英]Javascript AJAX function returns undefined instead of true / false
我有一個發出AJAX調用的功能(通過jQuery)。 在complete
部分中,我有一個函數說:
complete: function(XMLHttpRequest, textStatus)
{
if(textStatus == "success")
{
return(true);
}
else
{
return(false);
}
}
但是,如果我這樣稱呼:
if(callajax())
{
// Do something
}
else
{
// Something else
}
第一個永遠不會被調用。
如果我在complete
函數中添加alert(textStatus)
, alert(textStatus)
true,但在該函數返回undefined
之前不會為真。
可以將回調函數傳遞給我的callajax()
方法嗎? 喜歡:
callajax(function(){// success}, function(){// error}, function(){// complete});
complete
是一個回調函數。 它將由Ajax對象調用-異步! -操作完成時。 您沒有辦法捕獲回調的結果,只有Ajax對象可以做到這一點。
您的callajax()
函數-您未顯示該函數,但我認為它只是進行Ajax調用-無法返回該調用的結果(=響應標頭和正文),因為退出時該調用尚未完成callajax()
函數。
更新:它也非常可能使同步AJAX調用。 感謝@Andris指出這一點。 在jQuery中,您需要將async
選項設置為false
:Docs here 。 但是,就我所知,即使那些使用標准的回調函數,因此您想要的返回false
或true
也可能無法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.