簡體   English   中英

jQuery ajax請求 - IE11訪問被拒絕

[英]jQuery ajax request - IE11 Access is denied

這個問題

我正在使用以下函數通過jQuery發出ajax請求:

function ajaxRequest(requestName,responseFunction,parameters) {
 console.log('Making request ' + requestName);
 var now = new Date();
 $.ajax({
    type: "GET",
    url: "ajax.php",
    error: function(jqXHR,textStatus,errorThrown ) {
        console.log('Error: ' + textStatus + ' ' + errorThrown);
    },
    success:function(msg) {
        console.log('Success! ' + msg);
    }
 });
}

這里有“訪問被拒絕”錯誤的可能原因是什么? 我能做些什么來獲得更有意義的錯誤信息嗎?

更多信息...

我正在調用此函數來保存輸入字段中的值。 這適用於所有經過測試的瀏

我也從onpaste事件(即)調用此函數來執行相同的工作,這是失敗的,但僅限於IE11。 錯誤只是“訪問被拒絕。”。

請注意,這不是跨域請求,它正在請求同一目錄中的文件。

測試中:

  • Mac + Safari
  • Mac + Chrome
  • WinXP + IE8
  • Win7 + IE9
  • 贏8 + IE10
  • 在8.1 + IE11(唯一導致問題的那個。)

請注意,我已經刪除了一些不相關的代碼部分,例如使用responseFunction和parameters變量。

經過大量的研究,我能想出的唯一解決方案就是使用setTimeout使AJAX請求在1毫秒后觸發,而不是立即觸發。 我認為這是IE11中的一些錯誤,但希望這個解決方案對某人有用。

最后,我改變了這段代碼:

ajaxRequest('save_function','response_function',params);

對此:

setTimeout( (function(params) {
    return function() {
        ajaxRequest('save_function','update_save_marksheet_mark',params);
    };
})(params),1);

需要明確的是,除了IE11之外,第一行代碼在每個測試的瀏覽器中都有效,遠低於IE7。

暫無
暫無

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

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