Vue中用axios.get('http://localhost:8080/article/list')访问本机的springboot项目,报跨域错误。
在controller类中注解了CrossOrign,没用
@CrossOrigin("*")
@RestController
@RequestMapping("/article")
重写了WebMvcConfigurer的addCorsMappings也没用。
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/*")
.allowedOriginPatterns("*")
.allowedMethods("GET")
.maxAge(3600)
.allowCredentials(true);
}
}
在vite.config.js写server代理也没用
server: {
proxy: {
'/': {
target: 'http://localhost:8080',
changeOrigin: true
}
}
}
回答:你的跨域设置的有问题,只需要配置跨域类或者在controller里面加CrossOrigin注解,不需要两个都加,主要是你两个都配错了;你可以考虑只配一个,它们两个分别有各自的优先级,一起配不必要的
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
//是否发送Cookie
.allowCredentials(true)
//放行哪些原始域
.allowedOrigins("*")
.allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"})
.allowedHeaders("*")
.exposedHeaders("*");
}
}
@RestController
@CrossOrigin(origins = "*")
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "hello world";
}
}
跨域问题(CORS)通常发生在前端应用尝试访问不同源(即协议、域名、端口任一不同)的服务器资源时。在你的情况中,尽管你在Spring Boot后端已经配置了CORS,但问题可能仍然存在,这可能是由于几个不同的原因。以下是一些解决步骤和检查点:
确认CORS配置是否正确:
你的CORS配置看起来是基本正确的,但有一些小地方可以调整或确认。
@CrossOrigin("*")
注解或WebMvcConfigurer
的实现没有被其他配置或注解(如方法级别的CORS注解)覆盖。WebMvcConfigurer
中更明确地设置允许的源,而不是使用"*"
,虽然这通常应该工作,但有时候明确指定可以避免一些潜在的问题。Vue和Axios的CORS问题:
如果以上步骤都不能解决问题,可能需要更详细地检查你的代码和配置,或者考虑在Spring Boot的日志中增加更详细的调试信息,以查看CORS请求是如何被处理的。
与手上其他项目一样,axios.create的二次封装是一样的,而 API 模块从链式调用改成了单个函数导出调用。 然后,接口调用时出了问题,期望有大佬能够帮忙看看如何解决。 以下是部分代码: 提供项目接口目录:
本文向大家介绍基于VUE移动音乐WEBAPP跨域请求失败的解决方法,包括了基于VUE移动音乐WEBAPP跨域请求失败的解决方法的使用技巧和注意事项,需要的朋友参考一下 在学习一位vue大牛的课程《VUE2.0移动端音乐App开发》时,由于vue的版本原因遇到了一些问题 这是其中之一,花费了很多的时间去解决 虽然搞定了这个问题,但是很多东西理解也不是很到位,下面详细说: 系统windows,vue版
本文向大家介绍完美解决axios跨域请求出错的问题,包括了完美解决axios跨域请求出错的问题的使用技巧和注意事项,需要的朋友参考一下 错误信息: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the req
本文向大家介绍详解Vue-cli 创建的项目如何跨域请求,包括了详解Vue-cli 创建的项目如何跨域请求的使用技巧和注意事项,需要的朋友参考一下 问题描述: 使用 Vue-cli 创建的项目,开发地址是 localhost:8023,需要访问 localhost:9000 上的接口 分析原因: 不同域名之间的访问,需要跨域才能正确请求。跨域的方法很多,通常都需要后台配置 不过 Vue-cli 创
本文向大家介绍详解SpringBoot多跨域请求的支持(JSONP),包括了详解SpringBoot多跨域请求的支持(JSONP)的使用技巧和注意事项,需要的朋友参考一下 在我们做项目的过程中,有可能会遇到跨域请求,所以需要我们自己组装支持跨域请求的JSONP数据,而在4.1版本以后的SpringMVC中,为我们提供了一个AbstractJsonpResponseBodyAdvice的类用来支持j
本文向大家介绍详解AngularJS如何实现跨域请求,包括了详解AngularJS如何实现跨域请求的使用技巧和注意事项,需要的朋友参考一下 跨域,前端开发中经常遇到的问题,AngularJS实现跨域方式类似于Ajax,使用CORS机制。 下面阐述一下AngularJS中使用$http实现跨域请求数据。 AngularJS XMLHttpRequest:$http用于读取远程服务器的数据 一、$ht