我正在使用jQuery创建几个ajax请求。 Chrome中的请求“通过”很好,但在FireFox中,它们都返回错误。错误不是什么,只是“错误”。它是不跨域请求。
如果我设置async: false
,那么他们在FF中工作,这显然是我不想做的。我找到的唯一解决方法是将调用包装在setTimeout()
函数中,延迟时间为1毫秒。 1毫秒!!呼叫按预期工作。
问题类似于another question,但我想知道为什么没有setTimeout()
就失败了。我还缺少另一种选择吗?
setTimeout(function () {
$j.ajax({
url: '/same/server/',
method: method,
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
},
data: data,
error: function (err, status, errorThrown) {},
success: function (data) {}
}
})
}, 1)