Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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 Internet explorer拦截XML响应_Javascript_Html_Xml_Internet Explorer_Rss - Fatal编程技术网

Javascript Internet explorer拦截XML响应

Javascript Internet explorer拦截XML响应,javascript,html,xml,internet-explorer,rss,Javascript,Html,Xml,Internet Explorer,Rss,我有一个表单,它的目标是iframe 提交表单时,响应是XML,我使用Javascript分析响应 我注意到在IE上运行时,IE截取响应并将其视为RSS提要,因此我的代码从未收到响应。如果我禁用RSS源(从internet选项,内容选项卡),一切正常 我将响应的内容类型设置为“text/xml;charset=UTF-8”,但仍然不起作用 有什么解决方法吗?在这种情况下,最好的解决方法是不使用iframe。听起来IE正在捕获http响应并自己读取它。您不调用AJAX来检索信息有什么原因吗?听起来

我有一个表单,它的目标是iframe

提交表单时,响应是XML,我使用Javascript分析响应

我注意到在IE上运行时,IE截取响应并将其视为RSS提要,因此我的代码从未收到响应。如果我禁用RSS源(从internet选项,内容选项卡),一切正常

我将响应的内容类型设置为“text/xml;charset=UTF-8”,但仍然不起作用


有什么解决方法吗?

在这种情况下,最好的解决方法是不使用iframe。听起来IE正在捕获http响应并自己读取它。您不调用AJAX来检索信息有什么原因吗?听起来您仍然依赖JavaScript来处理响应,因此我认为使用XMLHttpRequest对象对您来说会更好:

如果这太复杂了,那么看看像jQuery这样的库:它内置了(而且更简单)函数来进行AJAX调用和处理响应


要对此进行扩展,您需要将表单的submit函数绑定到一个JS函数(或者使用jQuery)并提取表单数据,在AJAX请求中发送它,然后处理响应。jQuery有一个内置函数serialize(),用于将页面上的表单数据转换为可在ajax()函数中使用的信息,以发送到服务器。如果您不熟悉XMLHttpRequest对象,我强烈建议您使用类似jQuery的库来完成此任务。

是的,还要确保使用头文件以正确的内容配置输出文件,确保IE获得“response.xml”而不是“response.php”或类似的内容

内容配置:附件;filename=“response.xml”'

好的,找到问题了… 我的响应XML包含反馈标记。 IE将这些标签视为RSS提要。将标记名更改为FDBACK可解决此问题


MS,为什么这没有被记录下来?

Heh,我喜欢在IE中阅读像这样奇怪的东西。实际上,附件配置在chrome中有时会很奇怪,所以请确保您阅读用户代理信息,并且只在IE中执行附件内容。只要内容类型设置正确,其他浏览器通常会正确处理响应,不管用来访问它的url是什么。