在ThinkPHP框架中,配置跨域可以通过中间件或者行为来实现。以下是通过中间件配置跨域的方法:
-
在应用目录(
application
)下创建一个中间件目录(如果还没有的话),例如application/middleware
。 -
在该目录下创建一个跨域处理的中间件文件,例如
CrossDomain.php
。
-
注册中间件。在应用配置文件中注册刚创建的中间件。
// application/middleware/CrossDomain.php namespace app\middleware; class CrossDomain { public function handle($request, \Closure $next) { $response = $next($request); // 设置跨域 $response->header([ 'Access-Control-Allow-Origin' => '*', // 允许任何源 'Access-Control-Allow-Methods' => 'GET, POST, PATCH, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers' => 'Content-Type, Accept, Authorization, X-Requested-With, Origin, X-CSRF-Token', ]); // 如果请求类型为OPTIONS,直接返回响应,结束请求 if