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

IE 11错误-访问被拒绝-XMLHttpRequest

井学
2023-03-14
问题内容

我在IE11和Ajax中遇到了一个特殊的错误。对于我使用下面的代码发出的几乎所有请求,一切都很好,但是当我尝试与copy +
paste方法结合使用时,它会返回“访问被拒绝”错误。所以总结一下

  • 对于我编写的所有功能,此代码在大多数浏览器中均可正常运行
  • 在IE 11 + Windows 8.1中,它在大多数情况下均可运行,但运行特定的复制和粘贴功能时除外
  • 有趣的是,当使用IE 11时,尽管使用了不同的文档模式(例如8),我仍然会遇到相同的错误,即使它在IE8 + Windows 7中可以正常运行
  • 错误是“访问被拒绝”

这是AJAX代码:

function ajaxRequest(requestName,responseFunction,parameters) {
 var xmlhttp;
 if (requestName.length==0) return;
 if (window.XMLHttpRequest)  {
     xmlhttp=new XMLHttpRequest();
 } else {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 xmlhttp.onreadystatechange=function() {
     if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        if(xmlhttp.responseText == 'Error') alert('Error processing request. Please refresh the page and try again');
        else if(xmlhttp.responseText != '') eval(responseFunction+"('"+xmlhttp.responseText+"')");
     }
 }
 var now = new Date();
 var url = "control/ajax.php?request="+requestName+"&parameters="+parameters+"&timestamp"+now;
 xmlhttp.open("GET",url,true);
 xmlhttp.send();
}

一个失败的例子,设置了以下变量:

requestName:“ save_marksheet_mark”响应功能:“
update_save_marksheet_mark”参数:[60962,1284,5]

这段代码有什么问题吗?在特定情况下,IE11是否有原因会为此代码引发错误?


问题答案:

这个问题似乎引起了很多关注,因此以防万一有人在想,我通过在原始AJAX调用上使用setTimeout()解决了此问题。例如:

setTimeout(function() {
        ajaxRequest('save_mark','save_mark_completed',[60962,1284,5]) 
    }, 1);

我假设这是IE中的某种错误。只需1毫秒!



 类似资料:
  • 问题内容: 在某种程度上,当我尝试通过命令行访问MySQL时,已经设法解决了该错误: 我尝试使用此HowTo重置密码,但没有任何运气。 我已经卸载了mysql completley并重新安装了,但是仍然需要输入密码。我不知道为什么会这样! 有人可以帮我获得默认安装的MySQL吗? 环境 Fedora Core 10,完全根访问权限,安装了Apache和PHP 感谢您的任何帮助!! 编辑 对于所有想

  • 我最近才更新到新版本的forge,没有改变我的设置,当我去构建我的应用程序时,我得到了一个错误,说它找不到文件…

  • 这个问题已经问过好几次了,但没有一个解决办法对我有效。我以管理员身份运行DOS命令窗口,但当运行keytool命令安装证书时,我得到了上面的错误: 我在Windows10上使用JDK 1.8.0_191。为什么拒绝对管理员的访问?

  • 问题内容: 我有一个HTML表单( upload.htm ),其中包含HTML文件上传控件。 上一页中还有一个JavaScript方法,如下所示: 我在一个页面内的页面( uploadpage.htm )中 称其 为: 我尝试从 uploadpage.htm 页面执行以下所示的语句: 我收到一条错误消息,说 Access被拒绝,并且调试器在显示的第一个JavaScript函数处停止。这两个文件都位

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

  • 我在Windows 10上使用JRE8,我使用的命令是: 以下是我到目前为止所尝试的: null 我总是得到同样的错误: 证书已添加到keystore keytool错误:java.io.FileNotFoundException:C:\cacerts(访问被拒绝) 我还可以做什么来将此证书导入到我的cacerts文件中?