登录之后拿到token之后,请求后端数据的时候加上token报401了,弹出浏览器登录的框
postman的请求
$.ajax({
headers: {
'Authorization': "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlVzZXJDb2RlIjoidGVzdGxvZ2luIn0.XEyxn0w71UCCkMVwLFRiEv-x4beldv-Nza4OzpD5xEk"
, 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' //multipart/form-data;boundary=--xxxxxxx application/json
},
type: 'put',
url: "http://XXX.XXXX.xxxx:xxx/getLoginUserInfo?userCode=testlogin",
dataType: 'jsonp',
contentType: 'application/json',
success: function (res) {
console.log(res);
}, error: function (err) {
console.log(err)
}
})
网上找了很久说是 , 这个 401 的状态码是因为鉴权不通过的原因造成的。
你问题的原因在于, Content-Type 类型不正确,应该是 form 表单提交的方式。所以可以改成下面的这种格式试试看
headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
但是没效果
求各位赐教!
你这是鉴权失败吧
你看一下你的request中有Authorization吗,在代码里写了,但我看你截图里request中没看到,如果没有的话就和后台对一下服务端是否配置了接收Authorization这个头字段
应该是类似这样的
已经可以了,感谢各位!
const token = JSON.stringify(store.state.user.token);
是应该token转义了,后端解析不了 ,改了就可以了
const token = store.state.user.token