我正在尝试发出几个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。
答案 0 :(得分:2)
您的回答可能出在以下回复中:Why does the preflight OPTIONS request of an authenticated CORS request work in Chrome but not Firefox?
如果飞行前请求响应为401,则Firefox将停止发送请求,而Webkit浏览器将继续执行实际请求(GET,POST等)
编辑:但是再一次,你甚至没有看到OPTIONS请求被发送......仍然,上面提到的帖子可能有用。