React应用程序不向java服务器发送头
我在网上搜索了很多,但没有找到任何对我的问题有帮助的东西。 我有一个java服务器和一个react客户端。我的服务器正在使用jwt进行身份验证,并将令牌返回给我的客户端 当我尝试使用post方法发送数据时,我的客户端不发送头,因此我的服务器返回一条“未经授权”的消息。我试着从Postman和ARC(高级Rest客户端)发送相同的请求,结果成功了 这是我的客户代码:React应用程序不向java服务器发送头,java,reactjs,header,authorization,token,Java,Reactjs,Header,Authorization,Token,我在网上搜索了很多,但没有找到任何对我的问题有帮助的东西。 我有一个java服务器和一个react客户端。我的服务器正在使用jwt进行身份验证,并将令牌返回给我的客户端 当我尝试使用post方法发送数据时,我的客户端不发送头,因此我的服务器返回一条“未经授权”的消息。我试着从Postman和ARC(高级Rest客户端)发送相同的请求,结果成功了 这是我的客户代码: fetch(url, { method: 'POST', crossDomain:
fetch(url, {
method: 'POST',
crossDomain: true,
mode: 'no-cors',
body: JSON.stringify(data),
headers: {
'Authorization': 'Bearer ' + 'token generated from fiddler after running auth',
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(responseJson => {
console.log(responseJson);
});
我也尝试过使用axios,我也有同样的问题。
此外,我的服务器在所有控制器类中都有@CrossOrigin(origins={“*”})注释
我不知道我的问题是客户端还是服务器,以及为什么使用Postman和ARC。您使用的是
模式:no cors
,它基本上去掉了所有不是简单头的头:
您应该启用CORS并允许您的域在服务器上运行。为什么要使用
模式:“无CORS”
?我在CORS
中更改了模式,但仍然没有收到标头。您在后端启用了CORS吗?您不需要将模式设置为cors,只是不要将其设置为no cors。“网络”选项卡中的请求是什么?您在后端收到了什么?谢谢,我删除了模式设置,现在工作了。很抱歉,我的回答太晚了,但就在今天,我已经能够配置它了。