2010-08-05 74 views
1

我有安裝像jQuery的阿賈克斯處理錯誤

$.ajax({ 
    url: 'ajax.html', 
    datatype: 'html', 
    success: function(data) { 
     $(data).appendTo('body'); 
    }, 
    error: function(xhr, status, e) { 
     alert('An error occured: ' + status); 
    } 
}); 

我的Ajax請求時,我觸發通過指定一個不存在的網址的錯誤,我發現,狀態始終爲空。我試過xhr.statusTextxhr.responseTextxhr.status都沒有任何回報。我怎麼能得到一個錯誤消息?

當我嘗試alert(e)我得到

[異常... 「訪問受限 URI被拒絕」 代碼: 「1012」 nsresult: 「0x805303f4(NS_ERROR_DOM_BAD_URI)」 位置: 「http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js 線:130「]

但我想要的東西更像是找不到頁面。爲什麼會讓我訪問受限?爲什麼status,xhr.statusText等都是空的?

UPDATE

它的工作原理在線,但沒有在本地主機上,也許它只是一些配置的東西

+0

我已經嘗試過'xhr.statusText',它給了我'未找到',在不存在的頁面上...嘗試一下,[demo](http://jsfiddle.net/9yg6N/) – Reigel 2010-08-05 04:17:37

回答

0

我只是想,我的系統上,當我指向一個不存在的網址,status設置爲error對我來說沒有問題。但是,應該注意的是,您應該在服務器端配置您的應用程序,以便在收到對不存在頁面的請求時發送404錯誤。

+0

當我走到瀏覽器中不存在的頁面,我得到404錯誤。 – 2010-08-05 04:33:03

1

這是一個跨域請求嗎?瀏覽器禁止使用XmlHttpRequest AJAX技術進行跨域請求。該請求將不會被處理,因此目標服務器甚至不會知道該請求,更不用說有機會返回狀態碼。

+0

不,我在本地主機上。從test.html請求ajax.html(成功)或不存在的頁面,例如。 ajax2.html – 2010-08-05 04:32:35