jQuery ajax请求 - IE11访问被拒绝

Ben*_*Ben 4 ajax jquery internet-explorer-11

这个问题

我正在使用以下函数通过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);
    }
 });
}
Run Code Online (Sandbox Code Playgroud)

这里有"访问被拒绝"错误的可能原因是什么?我能做些什么来获得更有意义的错误信息吗?

更多信息...

我正在调用此函数来保存输入字段中的值.这适用于所有经过测试的浏

我也从onpaste事件(即)调用此函数来执行相同的工作,这是失败的,但仅限于IE11.错误只是"访问被拒绝.".

请注意,这不是跨域请求,它正在请求同一目录中的文件.

测试中:

  • Mac + Safari
  • Mac + Chrome
  • WinXP + IE8
  • Win7 + IE9
  • 赢8 + IE10
  • 在8.1 + IE11(唯一导致问题的那个.)

请注意,我已经删除了一些不相关的代码部分,例如使用responseFunction和parameters变量.

Ben*_*Ben 7

经过大量的研究,我能想出的唯一解决方案就是使用setTimeout使AJAX请求在1毫秒后触发,而不是立即触发.我认为这是IE11中的一些错误,但希望这个解决方案对某人有用.

最后,我改变了这段代码:

ajaxRequest('save_function','response_function',params);
Run Code Online (Sandbox Code Playgroud)

对此:

setTimeout( (function(params) {
    return function() {
        ajaxRequest('save_function','update_save_marksheet_mark',params);
    };
})(params),1);
Run Code Online (Sandbox Code Playgroud)

需要明确的是,第一行代码在每个测试的浏览器中都有效,远低于IE7,IE11除外.