atTask和AngularJS CORS头传递cookie身份验证

时间:2014-02-03 23:57:40

标签: angularjs cors attask

atTask的开发者论坛指导我。

如果用户已在该浏览器中登录,如何设置我的AngularJS控制器$http.get以访问atTask的搜索API mydomain/attask/api/projects/search

我开始时:

var atTaskTA = angular.module('atTaskTA', []);

atTaskTA.config(function($httpProvider) {

    $httpProvider.defaults.useXDomain = true;

    delete $httpProvider.defaults.headers.common['X-Requested-With'];
});

atTaskTA.controller('atTaskTAController', ['$scope','$http', function($scope, $http){
    $scope.data = "unknown";
    $http.get("https://mydomain.com/attask/api/project/search").success(function(data){
        console.log("Success", data);
        $scope.data = data;
    }).error(function() {
        console.log("error");
    });
}]);

我不熟悉设置标头以传递用于身份验证的Cookie信息,我认为这是我需要做的。

1 个答案:

答案 0 :(得分:0)

请参阅$ http服务here的角度文档。特别要查看拦截器部分,您可以在传输之前向请求添加标头。

特别是你可以像这样修改请求对象:

    $provide.factory('myHttpInterceptor', function($q, ...) { 

        request: function (config) {
           config.headers["my-custom-header"] = myCustomHeaderValue;
           return config || $q.when(config);

    ...
    }

    $httpProvider.interceptors.push('myHttpInterceptor');