Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的AJAX请求依赖于资源的文件扩展名?_Javascript_Ajax_Dojo - Fatal编程技术网

Javascript 为什么我的AJAX请求依赖于资源的文件扩展名?

Javascript 为什么我的AJAX请求依赖于资源的文件扩展名?,javascript,ajax,dojo,Javascript,Ajax,Dojo,在下面的示例中,“xxx.xml”是有效的xml文件,“xxx.txt”是它的副本(但扩展名已更改) 为什么我不能在AJAX请求中互换使用这些文件 function test(url, handleT){ dojo.xhrGet({ url: url, handleAs: handleT, load: function(data, ioArgs) { console.log('data=',data);

在下面的示例中,“xxx.xml”是有效的xml文件,“xxx.txt”是它的副本(但扩展名已更改)

为什么我不能在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中出现?

Web服务器将为扩展提供不同的内容类型。坚持使用.xml,或者在Web服务器上更改它

编辑

更具体一点:因为XML也是文本,所以可以“降级”为文本——每个XML文档也是文本文档。并非每个文本文档都是XML文档,因此您无法将其“升级”为XML


您的Web服务器可能将.txt作为“纯/文本”提供,而这不是XML。

Web服务器将为扩展提供不同的内容类型。坚持使用.xml,或者在Web服务器上更改它

编辑

更具体一点:因为XML也是文本,所以可以“降级”为文本——每个XML文档也是文本文档。并非每个文本文档都是XML文档,因此您无法将其“升级”为XML


您的Web服务器可能将.txt作为“纯/文本”提供,而这不是XML。

如果您在包含文件的目录中的.htaccess中写入以下内容,则可以使用任何扩展名:

ForceType text/xml

如果在包含文件的目录中的.htaccess中写入以下内容,则可以使用所需的任何扩展名:

ForceType text/xml

看起来一直都是Fiferox的错:


(还没有在IE中测试它是如何工作的)

看起来这一直都是Fiferox的错:

(还没有测试这在IE中是如何工作的)