【发布时间】:2018-11-06 14:54:12
【问题描述】:
我正在尝试从 angularjs 应用程序实现跨域 post 调用,然后我收到以下错误。
预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段授权。
但是,当我进行 Ajax 调用时,它可以正常工作。 HTTP post call 如何在 angularjs 中工作?
Ajax 调用
$.ajax({
type: 'POST',
url: getAccessTokenUrl,
data: JSON.stringify(clintdata),
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(resultData) {
console.log(resultData);
},
error: function (request, status, error) {
console.log(status);
}
});
Angularjs HTTP 调用
$http({
method: 'POST',
url: getAccessTokenUrl,
data: clientdata,
headers: {
'Authorization': undefined,
'Auth-Token': undefined
}
}).then(function(res){
console.log(res);
}, function(err){
console.log(err);
});
我有一些默认设置。授权给其他人 REST
$http.defaults.headers.common['Content-Type'] = 'application/json;charset=utf-8;' ;
$http.defaults.headers.common['Auth-Token'] = 'X-Requested-With';
$http.defaults.headers.common['Authorization'] = $('#Authorization').val();
【问题讨论】:
-
您是否在后端启用了 CORS?放更多关于后端的信息。
-
是的,上面的ajax调用工作正常。
-
你使用的是什么版本的 AngularJS?
-
谢谢@Phil。现在它的工作。
-
我不明白。 it not working 和现在之间发生了什么变化?