$ http响应拦截器头

Man*_*asz 11 javascript angularjs angular-http

我正在响应中从服务器发送自定义标头.在$http响应拦截器中我想得到这个标题,但我能得到的唯一标题是Content-type标题.我该如何解决我的问题?

我的$http拦截器:

response: function (response) {
            var AuthToken = response.headers('AuthToken');
            return response || $q.when(response);
        },
Run Code Online (Sandbox Code Playgroud)

AuthToken 未定义.

sla*_*rne 29

这是一个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>
Run Code Online (Sandbox Code Playgroud)

或者在服务器代码中设置每个请求(php)

header('Access-Control-Expose-Headers: AuthToken, AnotherCustomHeader');
Run Code Online (Sandbox Code Playgroud)