VUEResponse to preflight request doesn‘t pass access control check: No ‘Access-Control-Allow-Origin‘

 Uncaught (in promise) error
 
Failed to load http://localhost:9001/eduservice/course/addCourseInfo: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9528' is therefore not allowed access.

createError.js:16 Uncaught (in promise) Error: Network Error
    at createError (createError.js:16)
    at XMLHttpRequest.handleError (xhr.js:87)

好好的一天从发现BUG开始,今天在做前后端粉里分离的项目时,前端报了这个错,使用的前端工具是VScode,使用vue,后端是idea在这里插入图片描述
看到Access-Control-Allow-Origin我的第一反应就是跨域问题

情况1、后端对应的的Controller都加上@CrossOrigin,由于之前出现过该问题的我,兴致勃勃地跑过去后端,一顿暴加,每个Controller都加上了该注解,脸上带着笑容自信重新运行,可是,但再点提交时,笑容渐渐消失,还是报错,于是再把错误看了一遍 Origin 'http://localhost:9528' is therefore not allowed access.,发现这个错误好像是前端的,于是跑去前端看。(当然有人问题是出现在后端)

情况2、面对前端,有些许无奈,看了很久,后来想到应该是路径除了问题,找到对应的api页面
在这里插入图片描述

没想到问题真的出在这,后端是Post提交的,前后写成Get提交了,前端因为是复制路径的关系,每及时改过来,小马虎花费大力气,以后CV的时候,大伙们记得要多注意看,别犯同样的错误了。

希望该文章对你们有帮助哈,有帮到你们的麻烦点个赞哈,有兴趣的朋友可以关注一下公众号,公众号上会发布一些最近行业常用的技术,还有一些自己见解的文章。
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
跨域问题是由于浏览器的同源策略导致的,同源策略要求网页只能访问与其来源相同的资源。当一个网页向不同源的服务器发送请求时,浏览器会进行跨域检查,如果服务器没有正确配置跨域访问的响应头,就会出现"Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource"的错误。 解决这个问题的方法有多种,下面是两种常见的解决方案: 1. 在服务器端配置响应头信息,允许跨域访问。在服务器端的响应头中添加"Access-Control-Allow-Origin"字段,并设置为允许访问的域名或"*"(表示允许任意域名访问)。 示例代码如下(以Node.js为例): ```javascript // 设置允许跨域访问的响应头 res.setHeader('Access-Control-Allow-Origin', '*'); ``` 2. 使用代理服务器进行请求转发。在项目中配置一个代理服务器,将跨域请求转发到目标服务器,这样就可以绕过浏览器的同源策略限制。 示例代码如下(以Vue.js为例): ```javascript // vue.config.js module.exports = { devServer: { proxy: { '/api': { target: 'http://example.com', // 目标服务器地址 changeOrigin: true, // 允许跨域 pathRewrite: { '^/api': '' // 将请求路径中的/api前缀去掉 } } } } }; ``` 这样,当你在前端代码中发送请求到"/api"路径时,代理服务器会将请求转发到目标服务器,并将响应返回给前端,从而解决跨域问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值