我正在尝试发出几个CORS请求(PUT,GET,POST).这些请求在Chrome和Safari中运行良好.选项被拒绝,但其他请求通过.
以下是我的搜索功能. Chrome和Safari使用返回的数据调用回调:
function Search (q, fn,){
console.log(q)
$.ajax({
url: sumeURL+q,
dataType: 'json',
headers: headers
}).done(function(data){
fn(data);
});
}
FireFox正在记录查询字符串,所以我知道它正在读取AJAX调用(我删除了我之前的问题,因为我认为FireFox可能会在它到达AJAX之前窒息 – 但事实并非如此).
我正在使用FireBug,而Net选项卡未显示此搜索功能的GET请求选项.
我已经看过这个SO question了,但是我需要为生产而不是开发这样做,所以浏览器添加不是一个好选择.
什么条件会让FireFox拒绝发送请求,但对Chrome或Safari无关紧要?
如果您需要我从服务器发布访问控制数据,LMK.
最佳答案 你的回答可能是在这个回复中:
Why does the preflight OPTIONS request of an authenticated CORS request work in Chrome but not Firefox?
如果飞行前请求响应为401,则Firefox将停止发送请求,而Webkit浏览器将继续执行实际请求(GET,POST等)
编辑:但是再一次,你甚至没有看到发送OPTIONS请求……仍然,上面提到的帖子可能有用.