2

Я разрабатываю мобильное приложение в кордове/телефонном разговоре. Я использую angularJS для front-end. Я звоню в сервисы, для которых атрибут «API-KEY» был заголовком в почтовом запросе.Как передать заголовки в http call in angularjs

Я показываю некоторые документы и стараюсь таким образом. но не работал.

postServiceDataWithHeader: function (url, data) { 
      var deferred = $q.defer(); 
      var req = { 
       method: 'POST', 
       url: url, 
       data: JSON.stringify(data), 
       headers: { 
        'user-Token': $rootScope.user.APIKEY, 
        'content-Type': 'Application/Json' 
       } 
      } 
      $http(req).success(function (data) { 
       deferred.resolve(data); 
      }).error(function (data, status, headers, config) { 
       alert("Server failed to save data"); 
       deferred.reject(status); 
      }); 
      return deferred.promise; 
     } 

Я пытался добавить заголовки в разговоре с,

JodoModule.config(function ($routeProvider, $httpProvider) { 
    $httpProvider.defaults.headers.post['user-Token'] = 'finding???'; 
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/json; charset=utf-8'; 
}); 

и второй подход,

JodoModule.run(['$rootScope', '$http', function ($rootScope, $http) {  
    $http.defaults.headers.common.Authorization = 'Basic YmVlcDpib29w';  
}]); 

Я могу назвать услуги, но на стороне сервера, я не являюсь получение значений заголовка, даже в скрипаче, также не передаются заголовки.

В чем причина? Нужно ли добавлять что-либо еще в код для передачи заголовков для каждого запроса POST. ?

ответ

1

Я сделал работать plunker для Вас, используя один из твоих подходит

http://plnkr.co/edit/36Dq6UXgyeMEXOzycrua?p=preview

app.config(function ($httpProvider) { 
    $httpProvider.defaults.headers.post['User-Token'] = 'finding???'; 
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/json; charset=utf-8'; 
}); 

Хотя если это CORS вы должны добавить «User-токен» принятые заголовками т.е. для apache2

Header set Access-Control-Allow-Origin "*" 
Header set Access-Control-Allow-Headers "origin, user-token, x-requested-with, content-type" 
Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS" 
+0

На стороне сервера я разрешаю все происхождение и все заголовки. Когда я звоню в службу через скрипач, добавляя заголовки в свой рабочий режим. Но когда я вызываю службу через угловое приложение, его не работает на стороне сервера ... Когда я передаю заголовок из скрипача, он показывает мне каждый заголовок как атрибут, т.е. User-Agent: Скрипач Ведущий: локальный: 62676 Content-Length: 0 пользователем маркер: 'это ключ' ..... Но когда я прохожу заголовки с помощью приложения, он показывает все заголовки в один атрибут без их значений с, Access-Control-Request-Headers: принять, пользовательский токен, тип содержимого. –

+0

Вы имеете в виду, что он показывает в заголовках запросов 'Access-Control-Request-Headers: accept, user-token, content-type', когда вы смотрите в инструментах разработчика в браузере? – maurycy

+0

yes correct ... Это не показывает мне значения ... –

Смежные вопросы