在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>
现在我想发送每个带有标题的使用令牌,而不仅仅是一个人。
答案 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'),
}
});