今天在写uniapp项目的时候,使用在线模拟接口的时候,出现跨域问题。
【问题描述】:
①在内嵌浏览器运行,不会出现跨域问题,好像是内嵌浏览器自动去掉了跨域问题。
②在外部浏览器调用的时候会出现跨域问题。(我们要解决的是这个问题)
前端项目在浏览器运行的为http://localhost:8082/#/pages/index/index
这两个出现跨域问题,端口、域名都不同,只有协议相同,都是http协议。
【解决办法】:
在uniapp里面的manifest.json里面修改:
"h5" :{
// 跨域代理
"devServer" : {
"port" : 8082, // 浏览器运行端口
"disableHostCheck" : true,
"proxy" : {
"/mock" : {
"target" : "http://heymock.uneedcode.com", // 目标接口域名
"changeOrigin" : true, // 是否跨域
"pathRewrite" : {
"^/mock" : "/mock"
}
}
},
"https" : false
},
"title" : "H5"
}
修改完manifest.json后,一定要重启项目,不然还是没有效果的。
可以成功请求啦。
------------------------------------------------over。
对了,但还有个小问题。
我在请求头上面添加提示的信息,”Access-Control-Allow-Origin“:"*",貌似没有任何效果。