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的问题了

posted @ 2021-09-27 13:31  feimengv  阅读(1123)  评论(0编辑  收藏  举报