Access to XMLHttpRequest at xxxx from origin ‘null‘ has been blocked by CORS policy:

使用前后端分离的方式创建web项目的时候出现问题:

在这里插入图片描述
这是因为 ajax 请求的对应的域在本地的一个文件路径,比如在D盘的某个文件夹,这里存放的都是前端文件;

但是对应的服务器是 localhost 的一个域名;

虽然请求可以到达服务端,服务端也可以处理,但是请求是无法进入ajax的success部分的。

springboot处理的方式是,在代码里面加上跨域的注解。

spring的官方文档有这个注解的解释,如下图

在这里插入图片描述

简单翻译一下:

这个注解会使得对应的方法支持跨域请求。

默认情况下,允许所有的 origin 和所有的 header ,以及所有的 controller 对应的HTTP方法。

allowedCredentials参数在默认情况下不启用,因为这会建立一个信任级别,这个级别会把用户的敏感信息(如cookies和CSRF令牌)公开,建议是只应在适当的情况下使用。

开始的时候加了:

@CrossOrigin

但是重启应用之后还是有问题,于是就加入了allowedCredentials参数,改成:

@CrossOrigin(allowCredentials = "true", allowedHeaders = "*")

然后成功。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值