ThinkPHP 5.1 跨域配置方法

一、介绍

前端开发中,由于涉及到跨域问题,我们需要进行跨域配置。跨域是指在一个网站的客户端脚本(如JavaScript、jQuery等)访问另一个网站的资源(如图片、CSS、JS等)时出现的安全限制。ThinkPHP 5.1 提供了跨域配置方法,本文将结合代码进行详细介绍。

二、ThinkPHP 5.1 跨域配置方法

1.设置配置文件

在设置跨域配置前,需要在项目中设置配置文件,打开项目中的config目录下的文件app.php,找到如下的代码:

```php

// 默认输出类型

'default_return_type' => 'html',

```

修改成如下代码:

```php

// 默认输出类型

'default_return_type' => 'json',

```

2.跨域配置

新建一个Cors.php类,将以下代码放入app\middleware\目录下:

```php

namespace app\middleware;

class Cors

{

public function handle($request, \Closure $next)

{

$response = $next($request);

$response->header('Access-Control-Allow-Origin', '*');

$response->header('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type,Accept,Origin');

$response->header('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE,OPTIONS');

return $response;

}

}

```

这里设置了请求可以跨域访问,并允许GET、POST、PUT、DELETE、OPTIONS这些请求方式。

3.注册中间件

在项目中,我们需要注册中间件,以实现在系统执行app前进行跨域设置。打开app\http\middleware.php文件,找到return数组,在该数组添加如下的配置:

```php

return [

// 注册全局中间件

app\middleware\Cors::class,

];

```

现在,就可以愉快的进行跨域访问了。

三、总结

本文介绍了ThinkPHP 5.1的跨域配置方法。其中包括设置配置文件、跨域配置、注册中间件这三个步骤。设置好之后,就可以舒服地进行跨域访问了。

后端开发标签