Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在IE5文档模式下使用Ajax CORS IE11_Javascript_Jquery_Ajax_Internet Explorer - Fatal编程技术网

Javascript 在IE5文档模式下使用Ajax CORS IE11

Javascript 在IE5文档模式下使用Ajax CORS IE11,javascript,jquery,ajax,internet-explorer,Javascript,Jquery,Ajax,Internet Explorer,我的处境很有趣。我在一家中型公司工作,我们的浏览器使用IE11,但对于我正在编程的特定应用程序,其文档模式设置为IE5。我正在调用位于公司内部网(特定URL为https)内的web服务,并且我正在调用的网站是http(不确定是否可以在此处设置document.domain或任何内容)。我目前正在使用ajax,我能够成功地与服务通信,并使用下面的代码获取代码。虽然,每次我都会收到这样的信息:“您正在访问的信息来自另一个来源。”如果我点击是,那么我会从服务器返回信息,如果我点击否,那么数据不会通过。

我的处境很有趣。我在一家中型公司工作,我们的浏览器使用IE11,但对于我正在编程的特定应用程序,其文档模式设置为IE5。我正在调用位于公司内部网(特定URL为https)内的web服务,并且我正在调用的网站是http(不确定是否可以在此处设置document.domain或任何内容)。我目前正在使用ajax,我能够成功地与服务通信,并使用下面的代码获取代码。虽然,每次我都会收到这样的信息:“您正在访问的信息来自另一个来源。”如果我点击是,那么我会从服务器返回信息,如果我点击否,那么数据不会通过。我试图从同一网站的不同页面调用相同的方法,但却得到了拒绝访问错误,甚至没有提示。那件事真把我弄糊涂了

在这一点上,我已经阅读了许多关于CORS主题的不同文章,并且知道有一些事情可以避免这一信息。下面省略凭证。我使用的是jQuery1.9.1最小化版本

    $.support.cors = true;

            $.ajax
            ({
               type: "POST",
               crossDomain: true,
               beforeSend: function(request)
               {
                   request.setRequestHeader("Authorization", "");
                   return true;
               },
               url: webServiceURL,
               dataType: "xml",
               async: true,
               data: soapMessage, 
               contentType: "text/xml; charset=\"utf-8\"",
               success: OnSuccess, 
               error: OnError
});


}

function OnSuccess(data, status)
    {

        alert(status);
        alert(data);

        var documentValArr = parseXMLRrec(data);
        insertDataIntoTable(documentValArr);

    }

    function OnError(request, status, error)
    {

        alert(request.responseText);
        alert(error);
        alert(status);
    }
  • 启用跨域源IE设置。我想这可以尝试为内联网区域中的特定URL设置,但我仍然觉得不对。我也不知道工作中的安全小组会怎么想

  • 添加我尝试访问Intranet受信任站点的URL。我认为这将解决我所看到的问题,这是我绝对想尝试的

  • 另外,当在本地工作站上进行测试并通过IE 11 doc 5模式调用web服务时,我没有收到消息

  • 与服务所在服务器的所有者团队合作,看看他们是否可以添加可以访问服务的URL。这将是有趣的,因为有相当多的生产现场

  • 因为我在Doc5模式下使用IE11,所以我可以尝试使用XDomainRequest对象,但我不确定如果前面的选项可行的话,这样做是否值得


  • 这就是我有趣的场景。我非常想从人们那里得到一些关于情况的反馈,他们会做什么,以及采取什么样的措施和解决方案。非常感谢您的所有意见和想法

    我认为,如果不在应用程序a和应用程序B之间创建代理,或者不使用JSONP,就无法解决这个问题。IE7中不存在CORS支持(文档模式5或quirks模式基于此),我认为如果不在应用程序a和应用程序B之间创建代理,或者不使用JSONP,就无法解决这一问题。IE7中不存在CORS支持(文档模式5或quirks模式基于哪种模式)