0

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 信息以进行身份​​验证,我相信这是我需要做的。

4

1 回答 1

0

在此处查看$http 服务的 angular 文档。特别是查看拦截器部分,您可以在其中在请求传输之前将标头添加到请求中。

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

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

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

    ...
    }

    $httpProvider.interceptors.push('myHttpInterceptor');
于 2014-02-04T00:04:05.383 回答