vue请求controller报错has been blocked by CORS policy
时间: 2023-09-25 14:07:24 浏览: 92
vue解决跨域路由冲突问题思路解析
你遇到的问题是跨域错误,即前端通过Vue请求后端的Controller时出现了被CORS策略阻止的报错。这个错误通常是由于浏览器的同源策略所导致的。同源策略限制了不同源(协议、域名、端口)之间的资源访问。解决这个问题有几种方法。
一种方法是在后端的Controller上添加跨域注解@CrossOrigin。这个注解可以让外界直接访问到这个Controller层。但是需要在每一个Controller都添加这个注解,可能会比较麻烦。
另一种方法是创建一个CorsConfig类,继承WebMvcConfigurer,并重写addCorsMappings方法。在这个方法中,可以设置允许跨域的路径、允许跨域请求的域名、是否允许证书、允许的请求方法、允许的请求头和跨域允许时间。这样可以统一配置跨域规则,而不需要在每个Controller上添加注解。
另外,还可以尝试将请求的Content-Type设置为表单类型,以避免CORS跨域错误。具体做法是在请求的headers中设置'Content-Type':'application/x-www-form-urlencoded'。
这些方法都可以在不同情况下解决CORS跨域问题,你可以根据自己的项目需求选择其中的一种方法进行尝试。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文