2011-05-02 58 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 
相关问题