Заголовки перехватчиков $http ответов
Я отправляю пользовательский заголовок с сервера в ответ. В ответном перехватчике $http
я хочу получить этот заголовок, но единственным заголовком, который я мог получить, является заголовок Content-type
. Как я могу решить свою проблему?
Часть моего перехватчика $http
:
response: function (response) {
var AuthToken = response.headers('AuthToken');
return response || $q.when(response);
},
AuthToken
- undefined.
Ответы
Ответ 1
Это проблема CORS.
Ответ должен включать Access-Control-Expose-Headers
список конкретных заголовков, которые вы хотите использовать.
например.
Access-Control-Expose-Headers: AuthToken, AnotherCustomHeader
В зависимости от настройки вашего сервера это можно установить на весь сайт, используя файл .htaccess(Apache)
<IfModule mod_headers.c>
Header set Access-Control-Expose-Headers AuthToken,AnotherCustomHeader
</IfModule>
Или задать для каждого запроса код сервера (php)
header('Access-Control-Expose-Headers: AuthToken, AnotherCustomHeader');
Ответ 2
@slamborne, звучит хорошо.
Для .Net
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Expose-Headers" value="AuthToken"/>
</customHeaders>
</httpProtocol>
</system.webServer>