AngularJS中的$ httpProvider授权标头

时间:2014-09-05 09:40:30

标签: angularjs api http-headers angular-services

我尝试为$ http服务添加默认标头,该值是在用户验证后生成的访问标记。

      .config(['$httpProvider', function($httpProvider) {
        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
        $httpProvider.interceptors.push('httpRequestInterceptor');

  }]) 

 .factory('httpRequestInterceptor', function () {
          return {
            request: function (config) {
              config.headers = {

                'Authorization': sessionStorage.token}
              return config;
            }
          };
        })

但Angular不接受标题:A ccess-Control-Request-He... authorization。 我尝试使用$http.defaults.headers.common.Authorization = 'Basic YmVlcDpib29w'和许多其他但没有任何作用。 我使用Rest Console测试了API,并接受了标题。

问题来自我的申请......

响应

- Access-Control-Allow-Head...  Accept,Origin,Authorization,Content-Type,X-Requested-With
 - Access-Control-Allow-Meth... GET, POST, PUT, DELETE   
   Access-Control-Allow-Orig... *
 - Access-Control-Expose-Hea... Authorization Cache-Control no-store,   
   no-cache, must-revalidate, post-check=0, pre-check=0    

请求

- Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
 - Accept-Encoding  gzip, deflate
 - Accept-Language  en-us,en;q=0.5
 - **Access-Control-Request-He...   authorization**
 - Access-Control-Request-Me... GET
 - Connection   keep-alive
 - Host api.mysite.com
 - Origin   http://xxxxx.com:8080

2 个答案:

答案 0 :(得分:0)

该应用程序适用于我的域api!这是CORS的一个问题。我的服务器上有可能吗?用htacess?因为我的标题允许来源:*在我的api ...

答案 1 :(得分:0)

尝试将它放在你的.htaccess上 标题集设置Access-Control-Allow-Origin" *" 标题集设置Access-Control-Allow-Headers"授权,内容类型"