仅使用Safari
(最新版本的High Sierra),对于每个不是GET的请求,我都会收到401
错误。
我用邮递员测试了选项请求,并返回了200 OK
响应。
问题是未发送授权标头。 这是请求: safari request and response
我在Chrome,Firefox和Opera上对其进行了测试,并且可以正常工作。 这是代码,请注意,我没有使用here
中所述的axios
(。post,.get)的简短版本
let url = (edit)?'/api/things/'+vm.nthing.id:'/api/things';
let method = (edit)?'patch':'put';
axios({
method:method,
url:url,
headers:vm.headers,
data:{
final: vm.nthing.final,
note: vm.nthing.note
}
})
.then(res=>{
//Some modal stuff
})
.catch(err=>{
console.log(err);
});
标头var为:
headers:{
"Authorization":"Bearer "+this.$auth.getToken()
},
答案 0 :(得分:0)
好吧,显然带有字符串属性的对象在Safari
中会被忽略,因此标头中的 authorization 元素从未被传递,因此出现了401
错误。
不起作用
let headers={
"Authorization":"abcdef...."
}
工程
let headers={
Authorization:"abcdef...."
}
还要注意axios网址中的斜杠。