从https://app.example.com
我发出以下请求:
$.get('https://api.example.com', { foo: 'bar' })
.success(getSuccess)
.error(getError);
它适用于Chrome和Firefox,但不适用于Safari。 Safari不执行预检OPTIONS请求或包含Origin: https://app.example.com
标头,因此服务器不会返回Access-Control-Allow-Origin: https://app.example.com
标头。
是否有某种方法可以强制Safari包含Origin
标头或执行预检OPTIONS请求?
答案 0 :(得分:1)
您可以在beforeSend
事件中向HTTP XHR请求添加标头。
类似的东西:
$.ajax({
url: 'https://api.example.com',
data: { foo: 'bar' },
beforeSend: function(xhr) {
xhr.setRequestHeader("Origin", "https://app.example.com");
}
})
.success(getSuccess)
.error(getError);