我正在为应用程序设置身份验证。在我发出登录后请求后,会发送一个 JSON Web 令牌作为响应。我能够通过 Ajax 将其附加到标头。问题在于登录后使用 window.location.pathname 重定向时,因为它不是 Ajax 请求,因此它没有将令牌附加到标头。我该如何解决这个问题?
$.ajaxSetup({
headers: {
'x-access-token': window.localStorage.jwt
}
});
var Auth = {
signup: function () {
console.log('signuppp');
var userSignup = {
username: $('#usernameSignup').val(),
password: $('#passwordSignup').val()
};
console.log(userSignup)
return $.post('/api/users/register', userSignup, function (resp) {
console.log('resp: ',resp);
window.localStorage.setItem('jwt', resp.token);
//does not have x-access-token header
window.location.pathname = '/';
})
},
简短的回答是:您不能使用 window.location
设置 HTTP 标头。
在 Angular 应用程序中将 http 标头添加到 window.location.href