首页 > ThinkPHP ThinkPHP

ThinkPHP6.0解决API接口跨域问题

2021-05-04 ThinkPHP 7534人已围观 1 收藏

简介使用ThinkPHP6.0开发API接口,解决接口跨域问题

1、新建中间件Cross.php,

<?php
namespace app\api\middleware;
class Cross{
   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',
           'Access-Control-Allow-Credentials' => 'true',
           'Access-Control-Allow-Headers'     => '*',
       ]);

       return $response;
   }
   /*     * 中间结束调度     */
}

2、添加全局中间件,在app\middleware.php中添加

app\api\middleware\Cross::class

# 取消Session初始化的注释
// Session初始化
\think\middleware\SessionInit::class



很赞哦! (1)

文章评论