如何在ajax标头中为每个用户发送api令牌?

时间:2019-07-27 09:12:01

标签: javascript ajax laravel api token

在Laravel项目中,我从数据库获取api令牌,并在本地环境中的ajax标头中使用它。知道我想在标头中为每个用户设置api令牌。我该怎么办?

这是我的ajax:

<script>
 $.ajax({
                url: url,
                headers: {"Authorization": "Bearer my_token "},
                type: 'GET',
                data: data,
                success: function( data){
                    console.log(data)
                }
            });
 </script>

现在我想发送每个带有标题的使用令牌,而不仅仅是一个人。

4 个答案:

答案 0 :(得分:1)

像这样登录或注册时将其保存在本地存储中:

localStorage.setItem('token',your_token)

,当您需要发送时,只需像下面这样写:

headers: {"Authorization": "Bearer "+localStorage.getItem('token')},

答案 1 :(得分:1)

尝试一下。

$.ajax({
    url: url,
    headers: {
        'Authorization': `Bearer ${token}`,
    },
    method: 'POST',
    data: YourData,
    success: function(data){
      console.log('succes: '+data);
    }
  });

答案 2 :(得分:0)

我不确定您是什么意思。“现在,我想发送每个带有标题的使用令牌,而不仅仅是给一个人。” 但是,如果您要在每个ajax请求中引用发送令牌, 您可以通过添加以下脚本来完成此操作,它与Laravel X-CSRF-TOKEN setup类似,这只是一次性设置。对于每个ajax请求,它将自动添加令牌。

$.ajaxSetup({
    headers: {
        'Authorization': "Bearer "+localStorage.getItem('token'),
    }
    });

答案 3 :(得分:0)

最后,我将其放在meta标签中:

<meta meta name="api_token" content="{{ (Auth::user()) ? Auth::user()- 
>api_token : '' }}">

在脚本部分:

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
        'Authorization': 'Bearer ' + $('meta[name="api_token"]').attr('content'),
    }
});