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

Javascript IE 11错误-访问被拒绝-XMLHttpRequest,javascript,ajax,internet-explorer,xmlhttprequest,internet-explorer-11,Javascript,Ajax,Internet Explorer,Xmlhttprequest,Internet Explorer 11,我在IE11和ajax中遇到了一个特殊的错误。对于我使用下面代码发出的几乎所有请求,一切都很好,但是当我尝试与复制+粘贴方法结合使用时,它返回一个访问被拒绝错误。总而言之 对于我编写的所有函数,这段代码在大多数浏览器中都正常工作 在IE11+Windows8.1中,除了运行特定的复制和粘贴功能外,它在大多数情况下都有效 有趣的是,当使用IE11,但使用不同的文档模式(如8)时,我仍然会遇到相同的错误,即使它在IE8+Windows7中本机工作 错误为“访问被拒绝” 以下是AJAX代码: fu

我在IE11和ajax中遇到了一个特殊的错误。对于我使用下面代码发出的几乎所有请求,一切都很好,但是当我尝试与复制+粘贴方法结合使用时,它返回一个访问被拒绝错误。总而言之

  • 对于我编写的所有函数,这段代码在大多数浏览器中都正常工作
  • 在IE11+Windows8.1中,除了运行特定的复制和粘贴功能外,它在大多数情况下都有效
  • 有趣的是,当使用IE11,但使用不同的文档模式(如8)时,我仍然会遇到相同的错误,即使它在IE8+Windows7中本机工作
  • 错误为“访问被拒绝”
以下是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:“保存\u标记工作表\u标记” 响应功能:“更新\保存\标记表\标记” 参数:[609621284,5]


这个代码有什么问题吗?在特定情况下,IE11会在代码中抛出错误是有原因的吗?

这个问题似乎获得了很多视图,所以为了防止有人怀疑,我通过在原始AJAX调用中使用setTimeout()解决了这个问题。例如:

setTimeout(function() {
        ajaxRequest('save_mark','save_mark_completed',[60962,1284,5]) 
    }, 1);
我假设这是IE中的某种bug。只需要1毫秒就可以了

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

这在页面加载后的第一次调用中确实有效,但后来的调用再次开始显示访问被拒绝错误

参考此线程这不是跨域请求-var url=“control/ajax.php…它请求的页面与用户已经访问的站点相同”,但当我尝试与复制+粘贴方法结合使用时,它返回一个访问被拒绝错误“您是否自己尝试过复制粘贴,以查看“访问被拒绝”错误是否源自于此?如果可能,请删除不必要的代码。这是我最初的想法,但当我对此进行注释时,错误显然出现在xmlhttp.open行上(在开发工具中突出显示)(以及xmlhttp.send),没有错误。请尝试将
xmlhttp.open(“GET”,url,true)放入
xmlhttp.onreadstatchange
声明上方的
行。这太荒谬了,我非常感谢您发布这一解释,因为在弄清楚到底发生了什么之前,我会与它斗争很长时间。1ms超时如何解决问题?这会使请求成功?我无法告诉您为什么行得通,但确实行!我想这只是个虫子!