2012-09-22 69 views
1

我似乎無法得到此解決方案爲我工作。jQuery .load()錯誤狀態?

How to catch error in jQuery's load() method

這裏是我想的代碼。

$("#a").load("load.html", function(responseText, textStatus, XMLHttpRequest) { 
     if (textStatus == "error") { alert("fail"); } 
     else { alert("success"); } 
}); 

當load.html存在時,它工作正常,但是當它沒有發生任何事情時。這是有道理的,因爲如果失敗,它不應該回調。

有人可以指出我要去哪裏嗎?我試圖讓它在URL不存在時拋出一個錯誤。

我試圖與jQuery 1.3.2,如果這影響任何東西。

更新 該問題似乎是因爲我在本地工作而不是在服務器上工作。在線上傳我的文件,它似乎工作正常,是否有部分需要服務器功能的jQuery?

更新 做了一些更多的測試和使用錯誤回調的.load()不能脫機工作,但.ajax()。爲什麼會受挫,但我們走了。

+0

可能是從服務器請求有狀態「OK」和空體。在這種情況下,你不會得到任何錯誤。因爲你有空的和正確的頁面。看看http://api.jquery.com/jQuery.get/,但在這種情況下,你應該添加代碼,將結果添加到你的元素 –

+0

jQuery 1.3.2真的很舊,就像那樣。 – Pointy

回答

1

試試這個

$.ajax({ 

    url: 'load.html', 
    dataType: 'html', 
    success: function(data) { 
     //handle data object containing the html 
     $('#a').html(data); 
    }, 
    error: function(xhr, error){ 
     //generic error callback, you'll end up here when your file doesnt exist 
    } 

}); 
+0

很好,謝謝。 – MrDerek

+0

@MrDerek沒問題 – Johan