AJAX 调用后添加授权标头

Posted

技术标签:

【中文标题】AJAX 调用后添加授权标头【英文标题】:Add Authorization Header After AJAX Call 【发布时间】:2016-03-24 20:16:00 【问题描述】:

我正在开发一个以 Angular.JS 和 Node.JS 作为后端的 Web 应用程序。 在我的登录页面上,我使用 AJAX 调用来执行登录。成功登录后,我想将浏览器重定向到新页面,但我需要根据登录响应添加 am 授权标头。

对于未来的 AJAX 调用,我使用 Angular 拦截器将令牌添加到每个请求,但我的问题是如何将它添加到重定向调用。

$http
    .post('/api/authentication/login', dataToPost)
    .success(function(data, status, headers, config)
                $window.sessionStorage.token = data.token;
                window.location.replace("/");
    )        

谢谢

【问题讨论】:

您将令牌存储在会话存储中,因此重定向后您必须检查令牌是否存在,根据角度.run块内的标头设置标头 【参考方案1】:

你可以像这样添加标题。

$http.defaults.headers.common.Authorization = $window.sessionStorage.token

【讨论】:

谢谢,不过,我没有进行 AJAX 调用。我需要重定向到新页面。

以上是关于AJAX 调用后添加授权标头的主要内容,如果未能解决你的问题,请参考以下文章

为啥添加额外的标头会导致 AJAX 调用失败

带有授权标头的Web API 2调用给出了403错误

如何在BackboneJS模型中的所有AJAX调用中添加自定义HTTP标头?

IE 11 未在 API 调用中传递授权标头

在 URL 中设置请求标头?

防止 nuxt auth 将授权标头发送到外部 url