1、Uniapp的h5端如果不再同一个域名下会存在跨域问题,解决方法如下:
在manifest的源码最后添加如下:
"h5" : {
"devServer" : {
"port" : 8080, //端口号
"disableHostCheck" : true,
"proxy" : {
"/api" : {
"target" : "", //目标接口域名
"changeOrigin" : true, //是否跨域
"secure" : true, // 设置支持https协议的代理
"pathRewrite": {
"^/api": ""
}
}
}
}
}
2、解决域名问题以后,下面是服务器端响应生成json数据的代码:
public function index(){
//定义对象数组
$result=[
'name'=>'Jack',
'age'=>11,
'sex'=>'man'
];
$path='api/test.json';
if($this->writeJson($path,$result)){
return redirect($path);
}else{
return "写入失败";
}
}
private function writeJson($path,$data): bool
{
//写入json数据
if(file_put_contents($path, $data)) return true;
else return false;
}
private function readJson($path){
//读取数据
return file_get_contents($path);
}
3、uniapp通过请求api里的json文件获取数据:
onLoad() {
this.gainData()
},
methods: {
gainData(){
uni.request({
url:"/api",
success: (res) => {
this.data=res.data
}
})
}
}
交互完毕。