如何在Angularjs中发送HTTP请求中的头信息

5

在尝试访问一个安全的Api时,我需要在我的angular http请求中发送头部数据

JavaScript代码:

$http.post('http://localhost/api/validate', user).success(function () {
        $scope.reset();
        $scope.activePath = $location.path('/');

如何在此请求中发送头数据?
3个回答

11
   //store the header data in a variable 
    var headers = { 'Authorization': authToken };

    //Add headers with in your request
    $http.post('http://localhost/api/validate',user, { headers: headers } ).success(function() 

0

对于身份验证,我发现这段代码很有用。假设令牌在成功登录后存储在 cookie 中,

.factory('authInterceptor', function ($q, $cookieStore) {
    return {
        // Add authorization token to headers
        request: function (config) {
            config.headers = config.headers || {};
            if ($cookieStore.get('token')) {
                config.headers.Authorization = 'Bearer ' + $cookieStore.get('token');
            }
            return config;
        },

        // Intercept 401s and redirect you to login
        responseError: function(response) {
            if(response.status === 401) {
                // remove any stale tokens
                $cookieStore.remove('token');
                return $q.reject(response);
            }
            else {
                return $q.reject(response);
            }
        }
    };
})
.config(function ($httpProvider) {
    $httpProvider.interceptors.push('authInterceptor');
})

0
设置HTTP头 $http服务将自动添加某些HTTP头到所有请求中。这些默认值可以通过访问$httpProvider.defaults.headers配置对象进行完全配置,该对象当前包含此默认配置: $httpProvider.defaults.headers.common(对于所有请求通用的标头): Accept: application/json, text/plain, */* $httpProvider.defaults.headers.post:(POST请求的标头默认值) Content-Type: application/json $httpProvider.defaults.headers.put(PUT请求的标头默认值) Content-Type: application/json
要添加或覆盖这些默认值,只需从这些配置对象中添加或删除属性即可。要为除POST或PUT之外的HTTP方法添加标头,只需添加一个新对象,其中小写的HTTP方法名称作为键,例如`$httpProvider.defaults.headers.get = { 'My-Header' : 'value' }。
这些默认值也可以在运行时通过相同方式的$http.defaults对象进行设置。此外,您可以在调用$http(config)时传递的config对象中提供一个headers属性,它会覆盖默认设置而不会全局更改它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接