2010-02-22 88 views
0

在Internet Explorer(7和8)中使用此ajax請求時,我收到一個parsererror。 我使用jQuery 1.4.1parsererror AJAX XML與jQuery

$.ajax({ 
    url: 'data.xml', 
    dataType: 'xml', 
    contentType: 'text/xml', // also tried application/xml 
    success: doFunction 

});

我在其他地方讀過我應該設置的內容類型,但我不知道在哪裏。在上面的代碼示例中設置的contentType參數不會做任何事情(我可以​​忽略它,不會改變)。

我可以將內容類型設置爲<meta>標記嗎?我試過了,但是XML不會驗證。

對此有何看法?

+1

那麼你的XML響應是什麼樣的?是什麼讓你認爲它不包含某種語法錯誤?您的服務器在HTTP響應頭中返回什麼MIME類型? – Pointy 2010-02-22 14:02:35

回答

0

哎喲。 似乎發生了這個問題,因爲我在瀏覽器中通過在Windows資源管理器中雙擊打開了該文件。

通過網絡服務器(localhost)訪問它解決了這個問題。

Firefox沒有問題,因爲它能夠打開文件,就好像您自己打開文件一樣。 IE真的試圖做一個同步請求,但它沒有服務器,所以它失敗了。

0

首先,我建議你升級1.4.2,不管它是否解決你的問題。其次,我不是你可以規定一個XML文檔(url:'data.xml')作爲Ajax請求的接收者。如果我錯了,請糾正我的錯誤!

+0

不知道1.4.2已經出來了。 thnx – Jorn 2010-02-22 16:43:41

+0

哦,順便說一句,你可以使用XML文件作爲ajax請求的接收者。您可以對結果使用正常的選擇器查詢來訪問元素。 – Jorn 2010-02-25 10:22:17