【问题标题】:Ajax call with javascript fails with internet explorer使用 javascript 的 Ajax 调用在 Internet Explorer 中失败
【发布时间】:2016-02-02 06:06:18
【问题描述】:

好的,这是我的代码,我用它来调用远程站点以获取我想在另一个站点上显示的数据对象列表。

这适用于 Chrome 和 Firefox,但在 IE“权限被拒绝”中引发错误

我还添加了对 Access-Control-Allow-Origin 和标头的请求,但问题仍然存在于 IE....

我不能使用 jQuery,因为我放置它的网站可能没有 jQuery。是否与跨域请求有关?

<script id= "sc1" type="text/javascript">
        function ajaxRequest() {
            var activexmodes = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]
            if (window.ActiveXObject) {
                for (var i = 0; i < activexmodes.length; i++) {
                    try {
                    return new ActiveXObject(activexmodes[i])
                        } catch (e) {
                    }
                }
            } else if (window.XMLHttpRequest) return new XMLHttpRequest()
            else return false;
        }
        var contentDiv = document.createElement("div");
        contentDiv.id = 'contentJobsoid';
        document.getElementById('sc1').parentNode.appendChild(contentDiv);

        (function(){
            var mygetrequest = new ajaxRequest()
            if (mygetrequest.overrideMimeType) mygetrequest.overrideMimeType('text/html')
            mygetrequest.onreadystatechange = function () {
                if (mygetrequest.readyState == 4) {
                    if (mygetrequest.status == 200 || window.location.href.indexOf("http") == -1) {
                        var data = mygetrequest.responseText;
                        document.getElementById("contentJobsoid").innerHTML = data;
                        } else {
                        console.log("An error has occured making the request");
                    }
                }
            }

            mygetrequest.open("GET", "http://www.demo.com/demo/dee0c7fe-867d-408d-a00f-d9bed4b169a7", true);
            mygetrequest.send(null);
            return false;
        }());
    </script> -->

【问题讨论】:

  • 你可以把html放到一个站点中,但是你不能使用jQuery,因为站点可能没有jQuery?那么,你自己为什么不包括它呢?

标签: javascript html ajax cross-domain


【解决方案1】:

我只是在脚本 src 标签中以字符串的形式从服务器传递了数据,它很容易解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2013-06-30
    • 1970-01-01
    • 2011-12-17
    相关资源
    最近更新 更多