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