小编Eun*_*ang的帖子

angular.js $ resources设置授权标头

JS

我正在尝试做的是为服务器提供REST API REQUEST.

请求应为'GET'方法并包含'Authorization'标头.

我的工厂代码与REST服务器通信就像这样'use strict';

angular.module('mabidualApp')
  .factory('User', function ($resource, config) {

    return $resource(config.API+':url/:id', {
        url: '@url', id: '@id'
    }, { //parameters default
      auth: {
        method: 'POST',
        params: {
            url: "token",
        }
    },
      get: {
        method: 'GET',
        headers:{'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'} ,
        params: {
          url:"users",
          id:'me'
        }
      }
});
Run Code Online (Sandbox Code Playgroud)

最合适的问题在这里

headers:{'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'} ,
Run Code Online (Sandbox Code Playgroud)

如果我添加标题,方法将更改为"OPTIONS"而不是"GET".我发现它是关于CORS预检的东西,但我无法弄清楚如何禁用它..

所以我试着在app.js中更改我的配置

  .config(function($locationProvider, $routeProvider, $httpProvider) {
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
    $httpProvider.defaults.headers.get['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w';
Run Code Online (Sandbox Code Playgroud)

第二个问题在这里

$httpProvider.defaults.headers.get['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w';
Run Code Online (Sandbox Code Playgroud)

它会出现以下错误.

Cannot set property 'Authorization' of undefined
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方案可以使用'授权'标题发送''GET'请求?谢谢

http-headers angularjs preflight

5
推荐指数
1
解决办法
7963
查看次数

标签 统计

angularjs ×1

http-headers ×1

preflight ×1