2009-06-01 93 views
4

我一直在使用this加載另一個頁面,只是用自己的例子:檢查jQuery的AJAX負荷成功

$("#links").load("/Main_Page #jq-p-Getting-Started li"); 

但是我希望在加載成功運行功能和不同的,如果它失敗了,不幸的是回調描述如下:

當ajax請求完成(不一定是成功)時調用該函數。

如何確保加載成功?

謝謝。

回答

2

您可以嘗試使用更詳細的$ .ajax()方法調用。這會讓你更好地控制AJAX調用(但它也需要比簡單的.load()更多的工作)。它允許你根據你的調用是否返回成功或錯誤來調用不同的函數。

有關此功能的文檔,請參閱:http://docs.jquery.com/Ajax/jQuery.ajax#options。如果您單擊該頁面上的「選項」選項卡,您將獲得可以傳遞給$ .ajax()函數的完整參數列表。

19

檢查響應的textStatus

$("#links").load("/Main_Page #jq-p-Getting-Started li", 
    function (responseText, textStatus, XMLHttpRequest) { 
    if (textStatus == "success") { 
     // all good! 
    } 
    if (textStatus == "error") { 
     // oh noes! 
    } 
    } 

在確定要弄清楚這個問題:的successfail

+0

這工作。你做錯了什麼。 – 2009-06-01 22:23:39

1

的第二個參數回調

一個JSBin例子是請求,字符串狀態值將是"beforeSend","success","complete""error"之一。

0

我使用這個功能,它的工作對我來說:

$.ajax({ 
    url: "demo_test.txt", 
    success: function(result){ 
     location:reload(); 
    } 
});