uni-app解决请求跨域问题

项目开发中,本地测试使用uniapp API uni.request() 时出现跨域报错问题;如下:

 解决方法:

1.找到项目中的manifest.json文件,点击源码视图下拉找到 "H5":相关配置;添加如下配置

"h5" : {
        "devServer" : {
            "https" : true,  //是否校验https
            "host" : "192.168.1.209",  //本地测试服务
            "port" : 2021, //本地测试端口
            "disableHostCheck" : true,
            "proxy" : {
                "/api" : {
                    "target" : "https://xxx.xxxx.com",  //代理IP地址,域名
                    "secure" : true,
                    "changeOrigin" : true,
                    "pathRewrite" : {
                        "^/api" : ""
                    }
                }
            }
        }
    }
属性名 类型 说明
target String 代理的API地址,就是需要跨域的API地址,如"https://www.xxxxxxx.com"
pathRewrite Boolean 路径重写,将"api"用正则替换成了空字符串修改最终请求的API路径。
changeOrigin Boolean 这个参数可以让target参数是域名。
secure Boolean 是否检查安全问题(http与https)
proxy Object 代理配置

2.在vue文件中调用uni.request()方法时,注意url的填写:

uni.request({
  url:"/api/login/gologin",
  method:"POST",
  secure:(res)=>{
  ...
  }
})

 

posted @ 2022-08-04 12:10  时光独醒  阅读(543)  评论(0编辑  收藏  举报