目标正在发送带有Autorization标头包含令牌的POST请求。
它的功能是:
export function authHeader() {
// return authorization header with jwt token
let user = JSON.parse(localStorage.getItem('user'));
if (user && user.token) {
return { 'Authorization': 'Bearer ' + user.token };
} else {
return {};
}
}
下面是发送到服务器的异步函数:
export async function submitToServer(values){
try{
let response = await fetch('http://localhost:50647/fund/submitfund', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type' : 'application/json',
authHeader()
},
body: JSON.stringify(values),
});
let responseJson = await response.json();
return responseJson;
} catch (error) {
console.error(error);
}
}
如何将authHeader()添加到POST中的标头以正确授权此请求?
发布于 2018-08-12 02:43:09
使用像...authHeader()
这样的...
spread operator。您的authHeader
函数返回一个对象{ 'Authorization': 'Bearer ' + user.token }
或{}
。您需要的是将其合并到使用headers
键附加的对象,因此...
操作符在这里是正确的工具。
所以你的代码是:
export async function submitToServer(values) {
try {
let response = await fetch('http://localhost:50647/fund/submitfund', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
...authHeader()
},
body: JSON.stringify(values),
});
let responseJson = await response.json();
return responseJson;
} catch (error) {
console.error(error);
}
}
https://stackoverflow.com/questions/51802675
复制相似问题