abr*_*ham 6 javascript safari ajax jquery cross-domain
从https://app.example.com我提出以下要求:
$.get('https://api.example.com', { foo: 'bar' })
.success(getSuccess)
.error(getError);
Run Code Online (Sandbox Code Playgroud)
它适用于Chrome和Firefox,但不适用于Safari.Safari不执行预检OPTIONS请求或包含Origin: https://app.example.com标头,因此服务器不会返回Access-Control-Allow-Origin: https://app.example.com标头.
有没有办法强制Safari包含Origin标题或执行预检OPTIONS请求?
您可以向事件中的 HTTP XHR 请求添加标头beforeSend。
就像是:
$.ajax({
url: 'https://api.example.com',
data: { foo: 'bar' },
beforeSend: function(xhr) {
xhr.setRequestHeader("Origin", "https://app.example.com");
}
})
.success(getSuccess)
.error(getError);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3779 次 |
| 最近记录: |