gpt4 book ai didi

jQuery ajax 请求 - IE11 访问被拒绝

转载 作者:行者123 更新时间:2023-12-01 00:02:47 24 4
gpt4 key购买 nike

问题

我使用以下函数通过 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
  • Win 8 + IE10
  • 在 8.1 + IE11 中(唯一导致该问题的版本。)

请注意,我删除了代码中一些不相关的部分,例如使用 responseFunction 和参数变量。

最佳答案

经过大量研究,我能想到的唯一可行的解​​决方案是使用 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 除外)。

关于jQuery ajax 请求 - IE11 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26910691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com