一、介绍
前端开发中,由于涉及到跨域问题,我们需要进行跨域配置。跨域是指在一个网站的客户端脚本(如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的跨域配置方法。其中包括设置配置文件、跨域配置、注册中间件这三个步骤。设置好之后,就可以舒服地进行跨域访问了。