web-dev-qa-db-fra.com

Ajouter un en-tête à window.location.pathname

Je configure l'authentification pour une application. Après avoir fait une demande de connexion pour me connecter, un jeton Web JSON est envoyé en réponse. Je peux attacher ceci à l'en-tête via Ajax. Le problème est lors de l'utilisation de window.location.pathname pour rediriger après la connexion, car il ne s'agit pas d'une demande Ajax, le jeton n'est pas attaché à l'en-tête. Comment puis-je contourner cela?

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

La réponse courte est: vous ne pouvez pas définir d'en-têtes HTTP à l'aide de window.location.

Ajout d'en-têtes http à window.location.href dans Angular app

4
Francesco Pezzella