uniapp调用java接口 跨域问题

前言

之前在Windows10本地 调试一个旧项目,手机移动端用的是Uni-app,vue的版本是v2。后端是java spring-boot。运行手机移动端的首页请求后台接口老是提示错误信息。

错误信息如下:

Access to XMLHttpRequest at 'http://localhost:8080/api/industry/getIndustryList' from origin 'http://localhost:8081' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

翻译后 :

从源"http://localhost:8081"访问"http://localhost:8080/api/industry/getIndustryList"的XMLHttpRequest已被CORS策略阻止:对预检请求的响应未通过访问控制检查:请求的资源未包含"Access-Control-Allow-Origin"标头。

解决问题:

1,在uni-app项目 修改

javascript 复制代码
    "h5" : {
        "title" : "",
        "domain" : "",
        "devServer" : {
            "proxy" : {
			   "/api/": {
					 "target":"http://localhost:8080/api/",
					 "changeOrigin": true,
					 "pathRewrite": {"^/api": ""}
				}
            }
        }
    },

2,java端修改继承WebMvcConfigurer的重写addCorsMappings()方法代码

java 复制代码
public class InterceptorConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") // 对所有路径应用
            .allowedOrigins("http://localhost:8081") // 允许的来源,根据实际情况修改
            .allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的方法
            .allowedHeaders("*") // 允许的头部
            .allowCredentials(true) // 是否发送Cookie
            .maxAge(3600); // 预检请求的有效期(秒)
    }
}
相关推荐
Aurorar0rua3 小时前
CS50 x 2024 Notes C -14
c语言·开发语言·学习方法
小短腿的代码世界4 小时前
从.qrc到rcc编译器:Qt资源系统的隐秘运作机制与大型项目性能突围
开发语言·qt
2401_833269305 小时前
Java网络编程入门
java·开发语言
金銀銅鐵5 小时前
[Java] 如何将 Lambda 表达式对应的类保存到 class 文件中?
java·后端
青瓦梦滋5 小时前
C++的IO流与STL的空间配置器
开发语言·c++
五月君_5 小时前
Bun v1.3.14 发布,Rust 版即将进 Claude Code 内测,下一版可能就告别 Zig
开发语言·后端·rust
それども5 小时前
Gradle 构建疑难杂症 Could not find netty-transport-native-epoll-linux-aarch_64.ja
java·服务器·gradle·maven
正儿八经的少年6 小时前
application.yml 系列配置文件作用与区别
java·配置文件
鱼很腾apoc6 小时前
【学习篇】第20期 超详解 C++ 多态:从语法规则到底层原理
java·c语言·开发语言·c++·学习·算法·青少年编程
cheems95277 小时前
[Spring MVC] 统一功能与拦截器实践总结
java·spring·mvc