首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX: responseXML在IE11中为空

AJAX: responseXML在IE11中为空
EN

Stack Overflow用户
提问于 2014-09-18 11:18:11
回答 1查看 2.3K关注 0票数 1

使用下面脚本的AJAX调用在IE11上失败了。它确实适用于IE-6的早期版本(这是旧代码)、7、8和9的可疑版本。它可以在Firefox32.0.1上工作,而且可能可以追溯到2(这是非常老的代码)。

objXML = req.responseXML.documentElement;上的脚本错误,其错误“无法获得未定义或空引用的属性'documentElement‘”。

在调试时,req.responseXML为空,而req.responseText具有预期的XML。对于这个问题,解决方案的中心不是“text/xml”,而是响应类型,但是调试器显示响应类型是正确的“text/xml”。

为什么req.responseXML为空?

代码语言:javascript
复制
var req;

function loadXMLDoc(url) 
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        };
    };
};

function processReqChange() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
            //alert(req.responseText);

            objXML = req.responseXML.documentElement;

            // snip... using response data...

        } else {
            alert("There was a problem retrieving the XML data:\n\n" + req.statusText);
            alert(req.status + "\n\n" + req.responseText);
        };
    };
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-18 11:18:11

结果,内容类型标题被设置了两次。返回XML的经典ASP页面包含以下内容类型的标题、带和大括号样式设置:

代码语言:javascript
复制
Call Response.AddHeader("Content-Type", "text/xml")
Response.ContentType = "text/xml"

IE的F12 Developer Tools中网络视图上的汇总选项卡显示了'Type‘as 'text/xml’。details选项卡显示了“Response”中的两个“Content”条目。IE 11不喜欢这个。删除设置内容类型的第一个调用并只留下Response.ContentType = "text/xml"解决了这个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25911269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档