我的后端有一个JWT身份验证API。
在我的前端应用程序中,我这样做是为每个请求设置令牌:
$.ajaxSetup({
headers: {
"Authorization": 'Bearer ' +localStorage.getItem('token')
},
...
现在,当我这样称呼时:
$.ajax({
url: "http://localhost:8000/api/auth/user",
type: 'GET',
...
它不起作用,令牌没有正确附加到呼叫上,但是......如果我这样称呼:
$.ajax({
headers: {
"Authorization": 'Bearer ' +localStorage.getItem('token')
},
url: "http://localhost:8000/api/auth/user",
type: 'GET',
...
它完美运行。
现在,如果我像这样声明$ ajaxSetup,它也运行良好:
$.ajaxSetup({
beforeSend: function(xhr) {
// Set the header
xhr.setRequestHeader('Authorization', 'Bearer ' +localStorage.getItem('token'));
},
有谁可以告诉我,我做错了什么?
答案 0 :(得分:0)
尽管许多人似乎在其他答案上说了些什么,headers
不是$.ajaxSetup()
的有效密钥。 Check out the w3schools page关于可能参数的完整列表的方法。