Javascript 如何在Prototype.js中使用Ajax以XML(而不是字符串)的形式获取XML文件?

Javascript 如何在Prototype.js中使用Ajax以XML(而不是字符串)的形式获取XML文件?,javascript,xml,prototypejs,Javascript,Xml,Prototypejs,这段代码来自Prototype.js。我看了大概20个不同的教程,我不明白为什么这不起作用。我得到的响应为空 new Ajax.Request(/path/to / xml / file.xml, { method: "get", contentType: "application/xml", onSuccess: function(transport) { alert(transport.responseXML); } }); 如果我将responseXM

这段代码来自Prototype.js。我看了大概20个不同的教程,我不明白为什么这不起作用。我得到的响应为空

new Ajax.Request(/path/to / xml / file.xml, {
   method: "get",
   contentType: "application/xml",
   onSuccess: function(transport) {
      alert(transport.responseXML);
   }
});

如果我将
responseXML
更改为
responseText
,则它会以字符串形式向我发出XML文件警报。这不是一个提供XML的PHP页面,而是一个实际的XML文件,所以我知道它不是响应头。

如果transport.responseXML为null,但您有transport.responseText的值,那么我相信这是因为它不是有效的XML文件


编辑:我刚刚注意到,在我们这里的代码中,每当我们请求XML文件时,我们都会将内容类型设置为“text/XML”。我不知道这是否有区别。

如果transport.responseXML为null,但您有transport.responseText的值,那么我认为这是因为它不是有效的XML文件


编辑:我刚刚注意到,在我们这里的代码中,每当我们请求XML文件时,我们都会将内容类型设置为“text/XML”。我不知道这是否有区别。

只想分享我下午在这个问题上的工作,而responseXML响应的结果为空。我的结果与问题中描述的完全一样:responseText用XML文件填充,responseXML为NULL。因为我完全确定我的文件是有效的XML格式,所以错误一定在不同的地方

正如Prototype v1.7文档中提到的,我将内容类型设置为“application/xml”。无论发生什么情况,发送的响应始终是“text/html”

简而言之,我遇到的问题是,我的XML文件的结尾是“.gpx”,因为它实际上是GPS坐标的标准。我的本地XAMPP Apache安装的mime类型集合只预见了结尾“xml”和“xsl”。添加“gpx”并重新启动服务器后,程序按预期顺利运行

就我而言,有三种解决方案:

1) 编辑Apache的“mime.types”文件。使用XAMPP安装,您可能会在“C:\XAMPP\apache\conf\mime.types”下找到它。搜索“application/xml”记录并更改如下:

application/xml xml xsl gpx
别忘了重新启动服务器

2) 在相应文件夹的.htaccess中添加mime类型。打开或创建.htaccess文件并添加以下行:

AddType application/xml xml xsl gpx
3) 在上传过程中,将文件类型更改为“xml”,而不是您拥有的任何文件


希望我能抽出一些时间给你们中的一位。

只想与大家分享我下午在这个问题上的工作,结果是responseXML响应为空。我的结果与问题中描述的完全一样:responseText用XML文件填充,responseXML为NULL。因为我完全确定我的文件是有效的XML格式,所以错误一定在不同的地方

正如Prototype v1.7文档中提到的,我将内容类型设置为“application/xml”。无论发生什么情况,发送的响应始终是“text/html”

简而言之,我遇到的问题是,我的XML文件的结尾是“.gpx”,因为它实际上是GPS坐标的标准。我的本地XAMPP Apache安装的mime类型集合只预见了结尾“xml”和“xsl”。添加“gpx”并重新启动服务器后,程序按预期顺利运行

就我而言,有三种解决方案:

1) 编辑Apache的“mime.types”文件。使用XAMPP安装,您可能会在“C:\XAMPP\apache\conf\mime.types”下找到它。搜索“application/xml”记录并更改如下:

application/xml xml xsl gpx
别忘了重新启动服务器

2) 在相应文件夹的.htaccess中添加mime类型。打开或创建.htaccess文件并添加以下行:

AddType application/xml xml xsl gpx
3) 在上传过程中,将文件类型更改为“xml”,而不是您拥有的任何文件

希望我能给你们中的一个安全的时间