Thinkphp6使用中间件解决跨域cors
2022-11-24 11:10:29
159
{{single.collect_count}}

生成中间件
命令行输入

php think make:middleware Check

在最末的控制层创建文件。middleware.php和mimiddleware文件夹
一定要在最后的控制层,否则不生效
在这里插入图片描述
定义中间件

<?php// 全局中间件定义文件return [// 全局请求缓存// \think\middleware\CheckRequestCache::class,// 多语言加载// \think\middleware\LoadLangPack::class,// Session初始化// \think\middleware\SessionInit::classapp\api\middleware\Cores::class,/*app\api\middleware\Check::class,*/];

在middleware目录创建Cores.php

<?phpnamespace app\api\middleware;class Cores{public function handle($request, \Closure $next){$response = $next($request);$origin = $request->header('Origin', '');//OPTIONS请求返回204请求if ($request->method(true) === 'OPTIONS') {$response->code(204);}$response->header(['Access-Control-Allow-Origin'=> $origin,'Access-Control-Allow-Methods' => 'GET,POST,PUT','Access-Control-Allow-Credentials' => 'true','Access-Control-Allow-Headers' => '*',]);return $response;}/* * 中间结束调度 */}
回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}