Internet Explorer拦截XML响应

Ron*_*nen 7 html javascript xml rss internet-explorer

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

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

我注意到,当在IE上运行时,IE拦截响应并将其视为RSS提要,因此我的代码永远不会收到响应.如果我禁用RSS源(来自互联网选项,内容选项卡)一切正常.

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

有没有解决方法?

Bri*_*ian 2

在这种情况下,最好的解决方法是不使用 iframe。听起来 IE 正在捕获 http 响应并自行读取它。您不进行 AJAX 调用来检索信息是否有原因?听起来你无论如何都依赖 JavaScript 来处理响应,所以我认为使用 XMLHttpRequest 对象对你来说会更好:http://www.w3.org/TR/XMLHttpRequest/

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

为了扩展这一点,您可以将表单的提交函数绑定到 JS 函数(或使用 jQuery 来实现)并获取表单数据,在 AJAX 请求中发送它,并处理响应。jQuery 有一个内置函数serialize(),该函数旨在将页面上的表单数据转换为可供ajax() 函数使用并发送到服务器的信息。如果您不熟悉 XMLHttpRequest 对象,我强烈建议使用 jQuery 之类的库来完成此任务。