React应用程序不向java服务器发送头

React应用程序不向java服务器发送头,java,reactjs,header,authorization,token,Java,Reactjs,Header,Authorization,Token,我在网上搜索了很多,但没有找到任何对我的问题有帮助的东西。 我有一个java服务器和一个react客户端。我的服务器正在使用jwt进行身份验证,并将令牌返回给我的客户端 当我尝试使用post方法发送数据时,我的客户端不发送头,因此我的服务器返回一条“未经授权”的消息。我试着从Postman和ARC(高级Rest客户端)发送相同的请求,结果成功了 这是我的客户代码: fetch(url, { method: 'POST', crossDomain:

我在网上搜索了很多,但没有找到任何对我的问题有帮助的东西。 我有一个java服务器和一个react客户端。我的服务器正在使用jwt进行身份验证,并将令牌返回给我的客户端

当我尝试使用post方法发送数据时,我的客户端不发送头,因此我的服务器返回一条“未经授权”的消息。我试着从Postman和ARC(高级Rest客户端)发送相同的请求,结果成功了

这是我的客户代码:

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。“网络”选项卡中的请求是什么?您在后端收到了什么?谢谢,我删除了模式设置,现在工作了。很抱歉,我的回答太晚了,但就在今天,我已经能够配置它了。