uni-app 跨域问题

网络请求(request、uploadFile、downloadFile等)在浏览器存在跨域限制,需服务端配合才能跨域。
解决方案有2种:
服务器打开跨域限制;
本地浏览器安装跨域插件,参考:Chrome 跨域插件免翻墙安装 或 firefox跨域插件。

浏览器完成后,代码进行如下修改:

  1. manifest.json文件添加
    “h5” : {
    “devServer” : {
    “port” : 8000,
    “disableHostCheck” : true,
    “proxy” : {
    “/api” : {
    “target” : “https://testapi.kemiandan.com”, // 需要跨域的域名(只能是域名)
    “changeOrigin” : true,
    “secure” : false,
    “pathRewrite” : {
    “^/api” : “” //匹配请求路径里面有 /api 替换成 https://testapi.kemiandan.com
    }
    }
    }
    }
    }

  2. 页面请求接口
    uni.request({
    url:’/api/CompanyApp/Home’,
    success: (res) => {
    console.log(res.data)
    }
    })
    最终访问的接口https://testapi.kemiandan.com/CompanyApp/Home

  3. 多个域名跨域修改 manifest.json文件

“h5” : {
“devServer” : {
“port” : 8000,
“disableHostCheck” : true,
“proxy” : {
“/api” : {
“target” : 需要跨域的域名,
“changeOrigin” : true,
“secure” : false,
“pathRewrite” : {
“^/api” : “”
}
},
“/myapi” : {
“target” : 需要跨域的域名
“changeOrigin” : true,
“secure” : false,
“pathRewrite” : {
“^/myapi” : “”
}
}
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值