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的問題了