Как установить заголовки в нескольких $ ресурсах внутри фабрики в AngularJs

0

Я попытался добавить пользовательский заголовок к моему запросу. Но когда я добавил, я получил следующую ошибку, и мой вызов REST не выполняется.

Ошибка консоли

SyntaxError: Unexpected token M
    at Object.parse (native)
    at fromJson  (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js:1231:14)
at defaultHttpResponseTransform ...

Пример фрагмента кода

var testModule = angular.module(
        'test',
        [ 'ngAnimate', 'ngTouch', 'ui.grid', 'ngResource', 'ngLoadingSpinner',
                'ui.grid.pagination','ui.select','ui.grid.resizeColumns']).factory(
        'myService',
        function($resource) {

            return {
                Jobs : $resource('/executionjob/jobs', {},{
                     get: {
                            method: 'GET',
                            headers : {
                                'Accept' : 'application/json',
                                'Content-Type' : 'application/json',
                                'Api-Key' : authToken.apiKey()
                            }

                        }   
                }),
                ScheduleJobs : $resource(
                        '/executionjob/scheduleJob', null, {
                            'cancelJobs' : {
                                method : 'PUT'
                            }
                        }),
            };
        });

без заголовков службы REST работают отлично. Но для моих будущих требований я хочу добавить некоторую безопасность в мои конечные точки REST. Примечание: я также знаю, что есть несколько повторяющихся вопросов, но мой вопрос отличается от них, потому что я использую одну фабрику с несколькими $ resources.Please дайте мне знать, как я могу добавить пользовательские заголовки к моему вызову REST и есть ли способ добавить общий заголовок ко всем запросам REST.

Теги:
angular-resource

1 ответ

1
Лучший ответ

Да, вы можете добавить общий заголовок, как показано ниже:

angular.module('test', [])
.config(['$httpProvider', function($httpProvider) {
  $httpProvider.defaults.headers.common["Accept"] = 'application/json';
  $httpProvider.defaults.headers.common["Content-Type"] = 'application/json';
}])
  • 0
    Спасибо. Работает нормально.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню