2016-03-08 11 views
17
से एक AJAX अनुरोध के साथ एक टोकन भेजने के लिए

मैं एक्सप्रेस-जेडब्ल्यूटी का उपयोग करें और jQuery के माध्यम से अपना टोकन बना सकते हैं और साथ मेरे localStorage में सहेजें:कैसे jQuery

$.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); 
    } 
}); 

मैं तरह मेरे बैकएंड में एक संरक्षित मार्ग है:

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

मैं कैसे अनुरोध हेडर के साथ localStorage से टोकन भेज सकते हैं?

उत्तर

22

आप एक $.ajax अनुरोध में हेडर सेट कर सकते हैं:

$.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

तुम क्यों हेडर में टोकन भेजने? डेटा में क्यों नहीं ?? – ahmedbhs

+0

@ahmedbhs मुझे विश्वास है कि वह किसी भी तरह टोकन की रक्षा करने की कोशिश कर रहा है। एक जेडब्ल्यूटी हेडर के लिए –

+4

, यह मेरे लिए 'हेडर: {"प्रमाणीकरण":' बेयरर '+ टोकन} ' – user326608