我正在尝试使用自定义标头进行跨域 POST,但预检总是被取消(这是 Chrome 的“检查元素”面板>>“网络”标签中的词),我无法判断它是被浏览器取消还是通过 jQuery。代码是:
var request = $.ajax({
'type' : 'POST',
'crossDomain' : true,
'url' : 'https://host.domain/some_path',
'data' : {'some_key': 'some_value'},
'headers' : {
'Authorization' : 'CUSTOM-METHOD credential_id:credential_secret',
'X-Some-Custom-Header' : '2013-05-02'
}
})
.done(function(blah){blah})
.fail(function(blah){blah});
- 如果我删除 headers 对象,或者将其设置为 {},则可以成功发出请求。
- 如果我删除 Authorization 标头,预检仍将被取消。
我不认为这是服务器端的问题,因为服务器日志中没有关于 OPTIONS 请求方法的内容。我认为从未提出过预检请求。
那么,有什么想法吗?
提前致谢。