web-dev-qa-db-ja.com

AJAX jQueryからのリクエストでトークンを送信する方法

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からトークンを送信するにはどうすればよいですか?

28
larz

$。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')}
});
39
gnerkus