Mor*_*rty 6 post http-post request http-headers angularjs
我正在使用Postman Chrome Extension对服务进行POST,我得到了预期的响应.
但是,当我使用相同的POST请求时$http,一切都会变成地狱.
我得到一个:
Request header field Engaged-Auth-Token is not allowed by Access-Control-Allow-Headers
Run Code Online (Sandbox Code Playgroud)
Engaged-Auth-Token 作为标题.
我不知道为什么Postman有效并且它不适用于Chrome ...
有任何想法吗?
小智 7
我相信在CLIENT上的$ httpProvider上配置Access-Control-Allow-Headers将不起作用.我认为需要在服务器上配置标头(作为响应标头).例如,在一个节点表达式应用程序中,这可以通过中间件(例如)完成,如下所示:
res.header('*')
Run Code Online (Sandbox Code Playgroud)
或者(更有选择性地)只需要你需要的标题:
res.header('Engaged-Auth-Token, Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
Run Code Online (Sandbox Code Playgroud)
该问题是由于Access-Control-Allow-Headers请求标头丢失所致。为了解决这个问题,我们需要添加Access-Control-Allow-Headers: *到请求标头
添加一个Access-Control-Allow-Headers到http request header. 您可以使用在应用程序级别执行此操作$httpProvider。在应用程序配置部分添加以下行以添加此标头。
var app = angular.module("app", [
"ngRoute",
"app.controllers",
"app.directives",
"app.filters"
]);
app.config([
"$routeProvider",
"$httpProvider",
function($routeProvider, $httpProvider){
$httpProvider.defaults.headers.common['Access-Control-Allow-Headers'] = '*';
}
]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27198 次 |
| 最近记录: |