如何使用来自 jQuery 的 AJAX 请求发送令牌

新手上路,请多包涵

我使用 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 发送令牌?

原文由 larz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 665
2 个回答

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

原文由 gnerkus 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

 headers: {
    Authorization: 'Bearer '+token
}

,

原文由 yogihosting 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题