Internet Explorer 9 ActiveXObject返回的对象不支持此属性或方法

问题描述 投票:0回答:1

我正在尝试创建一个可以在ie9 +上运行的Ajax请求。我将ActiveXObject用于ie9,并将普通XMLHttpRequest用于现代浏览器。如果跳过domParser函数,则会收到错误消息“对象不支持此属性或方法”或“不支持此类接口”。这是我的代码:

var loadHtmlComponent = function(urlAddress, callback) {


if (window.ActiveXObject) {
    xhr = new ActiveXObject('Microsoft.XMLHTTP')
    xhr.data
    xhr.onreadystatechange = function() {

        if (xhr.readystate === 4) {
            // catch xml return and parse into DOM

            var domParser = new DOMParser();

            var oDoc = domParser.parseFromString(xhr.responseXML, 'text/xml');

            var output = oDoc;

            // serialize
            var oXmlSerializer =  new XMLSerializer();
            var sXmlString = oXmlSerializer.serializeToString(output);                
            callback(sXmlString);

        }
    }

    xhr.open('GET', urlAddress);
    xhr.send();

} else {
    xhr = new XMLHttpRequest();
    xhr.onload = function() {
        console.log('XML INSIDE');
        callback(this.responseXML);
    };
    xhr.open('GET', urlAddress);
    xhr.responseType = 'document';
    xhr.send();
};

};

谁能告诉我该如何解决?在IE9上工作?

非常感谢

javascript ajax internet-explorer-9
1个回答
0
投票

如果您对项目使用编译,则可以考虑将其添加到条目文件的顶部

import 'core-js'

目前core-js polyfill library是提供跨浏览器支持的最简单方法

© www.soinside.com 2019 - 2024. All rights reserved.