jQuery ajax请求-IE11访问被拒绝 问题

jQuery ajax请求-IE11访问被拒绝 问题,jquery,ajax,internet-explorer-11,Jquery,Ajax,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,errorT

我使用以下函数通过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);

需要明确的是,第一行代码在每一个测试的浏览器中都能正常工作,最早是IE7,IE11除外

这是实际的相对url吗?请尝试添加下面的代码-
epascarello-是的,这就是我测试的内容。感谢WisdmLabs的建议,但这并没有什么区别。还要确保您没有从CDN(如Google托管的库)加载jQuery资产。由于域不同,这违反了Microsoft用于防止Internet Explorer中跨站点脚本的某些安全协议。另一个试用解决方案是更改您的jQuery版本。感谢WisdmLabs-再次感谢所有好的想法,但我尝试过的所有想法:(您是如何想出这个解决方案的?您能指出任何其他信息吗?老实说,试用和错误-因为错误只发生在一组特定的情况下(即onPaste事件),我想如果我可以复制它,就像它不与onPaste事件同时工作一样,它应该可以工作-它确实做到了:)它肯定解决了我的问题!答案也适用于Windows 10。我在Windows10和IE11上也有同样的问题。你的“修复”是唯一有效的方法。