如何从jQuery发送带有AJAX请求的令牌

时间:2016-03-08 07:01:23

标签: javascript jquery express jwt express-jwt

我使用express-jwt并通过jQuery创建我的令牌并将其保存在我的localStorage中:

$.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发送令牌?

2 个答案:

答案 0 :(得分:33)

您可以在$.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')}
});

答案 1 :(得分:4)

如果您使用的是JWT身份验证,那么这就是将其添加到.ajax()方法的标头中的方式:

headers: {
    Authorization: 'Bearer '+token
}