当前位置: 首页 > 面试题库 >

拒绝访问IE上的jQuery脚本

宣俊豪
2023-03-14
问题内容

我有一个使用jQuery
1.4.2脚本的iframe。将相同的iframe注入到httphttps站点中。jQuery脚本作为相对路径包含在主HTML文件中(例如/scripts/jquery-1.4.2.min.js)。

进行AJAX调用时,Internet
Explorer拒绝访问。AJAX正在调用另一个子域,但是它使用的是正确的协议。所有其他浏览器都可以使用,但是Internet
Explorer出现以下错误:

脚本5:访问被拒绝。
jquery-1.4.2.min.js,第127行,字符344

我听说此错误来自跨域AJAX调用。但是,为什么IE是唯一给我废话的人?有IE解决方案吗?

另外,这是我的AJAX:

 $.ajax({
     url: thisURL,
     dataType: "json",
     data: {cmd : 'getMessage', uurl: urlVar, t: Math.random()},
     success: function(ret){
         callback(ret)
     }
 });

问题答案:

IE要求您为跨站点使用XDomainRequest而不是XHR,您可以尝试类似…

if ($.browser.msie && window.XDomainRequest) {
            // Use Microsoft XDR
            var xdr = new XDomainRequest();
            xdr.open("get", url);
            xdr.onload = function() {
                // XDomainRequest doesn't provide responseXml, so if you need it:
                var dom = new ActiveXObject("Microsoft.XMLDOM");
                dom.async = false;
                dom.loadXML(xdr.responseText);
            };
            xdr.send();
        } else {
            // your ajax request here
            $$.ajax({
                   url: thisURL,
                   dataType: "json",
                   data: {cmd : 'getMessage', uurl: urlVar, t: Math.random()},
                   success: function(ret){
                               callback(ret)
                    }
            });

        }

参考

http://forum.jquery.com/topic/cross-domain-ajax-and-
ie

不确定是否适合您的情况

xdr = new XDomainRequest(); 
xdr.onload=function()
{
    alert(xdr.responseText);
}
xdr.open("GET", thisUrl); //thisURl ->your cross domain request URL 
//pass your data here
xdr.send([data]);

您可以在这里找到更多指导



 类似资料:
  • 问题内容: 我在IE11和Ajax中遇到了一个特殊的错误。对于我使用下面的代码发出的几乎所有请求,一切都很好,但是当我尝试与copy + paste方法结合使用时,它会返回“访问被拒绝”错误。所以总结一下 对于我编写的所有功能,此代码在大多数浏览器中均可正常运行 在IE 11 + Windows 8.1中,它在大多数情况下均可运行,但运行特定的复制和粘贴功能时除外 有趣的是,当使用IE 11时,尽

  • 问题内容: 我有2个项目(相互连接和通信)在2个tomcat实例上运行。在我本地,我有2只雄猫在奔跑。在所有不同的浏览器上,一切都很好,但IE却表示访问被拒绝加载Java文件。因此,我包括了一个图书馆,该图书馆可以解决 本地 问题。 但是当我再次将代码部署到DEV环境上2个不同的tomcat实例(在Dev服务器上)时,我看到相同的错误,访问被拒绝。 而且我与项目1相关的所有文件(例如js / cs

  • 你好,我快绝望了。 我正在尝试使用Cron和NodeJS脚本将数据导入GoogleBigQuery。但我被拒绝访问错误: 我已经创建了一个服务帐户bq数据导入-user@arcane-支柱XXX。国际机械师协会。gserviceaccount。com 我创建了一个密钥,将其下载为JSON文件,并设置了环境变量 当我在本地机器上运行NodeJS脚本时,我得到了错误 我已经用Policy Troubl

  • 当我创建新用户或授予现有特权,我得到了这个错误: 授予所有表上的权限ok(信息\u架构除外),在此表上我得到了拒绝访问错误。我怎么能修理?转储所有数据库,删除所有数据库,然后从转储还原?

  • 为什么当我试图创建InputStream时,下面的代码会给我一个File Not Found异常?我的inputdirectory定义为一个文件,其值为“D:\general\images\small_images”(不带引号),我的用户对该文件具有完全的写权限。我正在使用Windows7,并以管理员的身份运行eclipse IDE。 如有任何帮助,不胜感激。

  • 我找到了商店定位器的谷歌教程:https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql MySQL表完成了,它在我的服务器上工作。我可以在phpmyadmin中正确地写入地址和执行操作 但是在“用PHP输出XML”的教程中,我不能继续了。 我已经创建了文件phpsqlsearch_dbinfo.php,把我的数据