vue用axios进行token请求出现has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header的解决方案

在Vue项目中使用axios进行API请求时遇到了CORS错误:'Access-Control-Allow-Origin' header缺失导致请求被阻止。该问题源于前后端不同端口引起的跨域访问。尝试使用@CrossOrigin注解解决,但未成功。解决跨域问题需要正确配置允许跨域的响应头。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到的问题一

Access to XMLHttpRequest at ‘http://localhost:8081/order/no’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

翻译:通过CORS策略已阻止从源"http:// localhost:8080"访问"http:// localhost:8081/order/no"处的XMLHttpRequest:所请求的资源上不存在"Access-Control-Allow-Origin"标头。

理解:因为vue跟后端服务的端口不一样,所以访问就是跨域访问,它要求访问的请求头里有Access-Control-Allow-Origin,而这个不配置就没有

解决的方法

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
   
    @Override
    protected void configure(HttpSecurity http) throws Exception {
   
        http.csrf().disable(); //开启跨域访问
        http.cors(); //开启跨域资源共享
    }
}
  • 也许这个解决方法有效但我并没成功用它解决问题:@CrossOrigin注解 *
@CrossOrigin(allowedHeaders = {
   "Authorization"})
@GetMapping("/res")
public ResponseResult<List<vongCover>> pages(){
   
        return new ResponseResult<List<vongCover>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值