簡體   English   中英

Javascript AJAX函數返回undefined而不是true / 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 但是,就我所知,即使那些使用標准的回調函數,因此您想要的返回falsetrue也可能無法正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM