2016-03-08 3 views
17

Ich benutze Express-jwt und meinen Token über jQuery erstellen und es in meinem local speichern mit:Wie ein Token mit einer AJAX-Anforderung von jQuery senden

$.ajax({ 
    url: "http://localhost:8080/login", 
    type: 'POST', 
    data: formData, 
    error : function(err) { 
    console.log('Error!', err) 
    }, 
    success: function(data) { 
    console.log('Success!') 
    localStorage.setItem('token', data.id_token); 
    } 
}); 

Ich habe einen geschützten Weg in meinem Backend wie:

app.get('/upload',jwt({secret: config.secret}), function(req, res) { 
    res.sendFile(path.join(__dirname + '/upload.html')); 
}); 

Wie kann ich das Token von localstorage mit dem Request-Header senden?

Antwort

22

Sie können die Überschriften in einem $.ajax Anfrage gesetzt:

$.ajax({ 
    url: "http://localhost:8080/login", 
    type: 'GET', 
    // Fetch the stored token from localStorage and set in the header 
    headers: {"Authorization": localStorage.getItem('token')} 
}); 
+0

warum Sie Token in Header schicken? Warum nicht in Daten? – ahmedbhs

+0

@ahmedbhs Ich glaube, er versucht, Token irgendwie zu schützen. –

+4

für einen JWT-Header, dies funktionierte für mich 'headers: {" Authorization ": 'Bearer' + token}' – user326608

Verwandte Themen