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 [ // 全局请求缓存 // hinkmiddlewareCheckRequestCache::class, // 多语言加载 // hinkmiddlewareLoadLangPack::class, // Session初始化 hinkmiddlewareSessionInit::class, //允许跨域请求 hinkmiddlewareAllowCrossDomain::class ];
这样即可解决CORS的问题了