Thinkphp6 + uniapp框架,接口訪問跨域問題


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM