2011-05-02 37 views
1

在以下示例中,'xxx.xml'是有效的XML文件,'xxx.txt'是其副本(但擴展名已更改)。爲什麼我的AJAX請求依賴於資源的文件擴展名?

爲什麼我不能在我的AJAX請求中交替使用這些文件?

function test(url, handleT){ 
    dojo.xhrGet({ 
     url: url, 
     handleAs: handleT, 
     load: function(data, ioArgs) { 
      console.log('data=',data); 
     } 
    }); 
} 

test('xxx.xml', 'xml'); //Works OK 
test('xxx.txt', 'text'); //Works OK 
test('xxx.xml', 'text'); //Works OK 

test('xxx.txt', 'xml'); //data === null ?! 

是不是handleAs參數應該爲我做這些轉換?

這是一般的東西還是它只發生在Dojo?

回答

0

網絡服務器將爲擴展提供不同的內容類型。堅持使用.xml,或在網絡服務器上進行更改。

編輯

更具體

了一下:由於XML是文字,也可以是「降級」到文本 - 每個XML文檔也是一個文本文檔。並非每個文本文檔都是XML文檔,因此您無法將其「升級」爲XML。

您的網絡服務器可能將.txt作爲「普通/文本」 - 而且不是XML。

1

你可以使用任何你想要的擴展,如果你寫了以下在位於目錄中的.htaccess包含您的文件:

ForceType text/xml 
相關問題