簡體   English   中英

IE 11錯誤 - 訪問被拒絕 - XMLHttpRequest

[英]IE 11 error - Access is denied - XMLHttpRequest

我對IE11和ajax有一個奇怪的錯誤。 對於我使用下面的代碼提出的幾乎所有請求,一切都很好,但是當我嘗試與復制+粘貼方法一起使用時,它返回一個拒絕訪問錯誤。 總結一下

  • 對於我編寫的所有函數,此代碼在大多數瀏覽器中正常工作
  • 在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”responseFunction:“update_save_marksheet_mark”參數:[60962,1284,5]

這段代碼有問題嗎? 在特殊情況下,IE11是否會在此代碼中引發錯誤?

這個問題似乎得到了很多觀點,所以如果有人想知道,我通過在原始AJAX調用上使用setTimeout()解決了這個問題。 例如:

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

我假設它是IE中的某種錯誤。 只需1毫秒就可以了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM