ahrobins
ahrobins

Reputation: 392

Add Header to window.location.pathname

I am setting up authentication for an app. After I make a post request to login, a JSON Web Token is sent in response. I am able to attach this to the header via Ajax. The problem is when using window.location.pathname to redirect after login, since it is not an Ajax request it does not have the token attached to the header. How do I get around this?

$.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 = '/';
    })
  },

Upvotes: 27

Views: 60527

Answers (1)

Francesco Pezzella
Francesco Pezzella

Reputation: 1795

Short answer is: you cannot set HTTP headers using window.location.

Adding http headers to window.location.href in Angular app

Upvotes: 15

Related Questions