Thinkphp6 + uniapp框架,接口访问跨域问题
接口访问数据,常出现跨域问题。CORS(靠,热死了谐音读法),从而无法读取接口返回的数据。解决办法如下
1.uniapp框架中manifest.json,配置proxy代理协议,让接口走代理
h5" : {
"sdkConfigs" : {
"maps" : {
"qqmap" : {
"key" : "
}
}
},
"optimization" : {
"treeShaking" : {
"enable" : true
}
},
"router" : {
"mode" : "hash",
"base" : "/h5/food/"
},
"devServer" : {
"https" : false,
"disableHostCheck": true,
"proxy": {
"/api": {
"target": "https://www.baidu.com",
"changeOrigin": true,
"secure": false,
"ws":false,
"pathRewrite":{"^/api":""}
}
}
},
"title" : "智慧餐厅"
}
2.第二种方法通过Thinkphp6框架,后端解决跨域问题
在根目录app目录下面的middleware.php中配置,运行跨域访问接口数据
<?php
// 全局中间件定义文件
return [
// 全局请求缓存
// \think\middleware\CheckRequestCache::class,
// 多语言加载
// \think\middleware\LoadLangPack::class,
// Session初始化
\think\middleware\SessionInit::class,
//允许跨域请求
\think\middleware\AllowCrossDomain::class
];
这样即可解决CORS的问题了