簡體   English   中英

jQuery AJAX在成功處理程序之外接收到的數據為null

[英]jQuery AJAX received data is null outside of the success-handler

考慮以下代碼示例:

var source = null;

$.ajax({
    [...],
    success:function(data)
    {
        source = data;
        alert(source);
    }
});

alert(source);

現在:在成功處理程序中,一切都很好,我從Web服務獲取了正確的數據,而一切都很好。 但是,一旦JS離開$ .ajax並完成它,變量source便再次為null。

告訴我為什么。 一定是我不熟悉的一些JavaScript特有的東西。 :/

可能是因為您忘記了AJAX是異步的。 success回調完成之前, source變量將是undefined的。

在該代碼下(在$.ajax()之外alert(source)執行alert(source)幾乎可以保證是undefined

好吧,您確定在觸發Ajax調用之外的警報之前調用成功回調嗎?

ajax調用是異步的,並立即返回。

暫無
暫無

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

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