我正在使用CORS标头进行Ajax调用。简短的版本是在Firefox中,一切运行良好,在Chrome中我收到错误:"Refused to set unsafe header Access-Control-Request-Method"
,对于Access-Control-Request-Headers也是如此。
所以,我只是感到困惑。喜欢,非常困惑。为了使CORS在Chrome和Firefox中正常工作,我必须做些什么?
我要说的一个奇怪的部分是,尽管有错误,但Chrome确实执行了Ajax调用。
我总体上很困惑,我是JavaScript的新手,也是CORS的新手,只是想让这个工作。
PS - 所有这些都是通过IntelliJ进行的本地开发,但不确定,但这可能是一个因素。
PPS。简短摘要:一切都在Firefox中运行良好,我在Chrome中遇到错误但它仍然正确执行请求。
PPPS。这是我用于所有Ajax调用的代码。
function(uri, method, json){
return $.ajax({
url: orgProps.serverOrigin + ensurePrecedingSlash(uri),
type: method,
headers: (function(){
var result = {
"Access-Control-Request-Headers": [
"X-Requested-With",
"Authorization"
],
"Access-Control-Request-Method": method
};
var token = jwt.getToken();
if(token !== undefined && token !== null){
result.Authorization = restoreBearerPrefix(token);
}
return result;
})(),
contentType: "application/json; charset=utf-8",
data: (function(){
if(json !== undefined) {
return JSON.stringify(json);
}
return null;
})()
})
.done(function(data, status, jqXHR){
var token = jqXHR.getResponseHeader("Authorization");
jwt.storeToken(token);
});