Internet Explorer拦截XML响应

我有一个目标是iframe的表单。

提交表单时,响应是XML,我有Javascript来分析响应。

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

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

有什么解决方法吗?


在这种情况下,最好的解决方法是不使用iframe。 这听起来像IE浏览器正在抓住http响应并自行读取它。 是否有一个原因,你没有进行AJAX调用来检索信息? 这听起来像你依靠JavaScript来处理响应,所以我认为使用XMLHttpRequest对象会对你更好:http://www.w3.org/TR/XMLHttpRequest/

如果这太复杂了,可以看看像jQuery这样的库:http://jquery.com/,它内置了(和更简单的)函数来进行AJAX调用并处理响应。

为了扩展这一点,你需要将表单的submit函数绑定到一个JS函数(或者使用jQuery来完成)并获取表单数据,通过AJAX请求发送它,并处理响应。 jQuery有一个内置函数serialize(),用于将页面上的表单数据转换为准备在ajax()函数中用于发送到服务器的信息。 如果您不熟悉XMLHttpRequest对象,我会强烈建议使用像jQuery这样的库来完成此任务。


好的,发现问题...我的回复XML包含FEEDBACK标签。 IE将这些标签视为RSS订阅源。 将标记名称更改为FDBACK可解决此问题...

MS,为什么这没有记录?


是的,还要确保使用正确的Content-Disposition输出文件,确保IE获得“response.xml”而不是“response.php”或其他一些...

'内容 - 处置:附件; 文件名= “response.xml””

链接地址: http://www.djcxy.com/p/10441.html

上一篇: Internet explorer intercepts XML response

下一篇: Sort excel formula output?