本文主要是介绍thinkphp5支持跨域(post-get-option请求),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
客户端跨域请求
客户端发送GET或POST之前,
可能会先发送OPTION请求,以查询服务是否支持跨域。所以thinkphp需要做两样事:
1、响应OPTION请求支持跨域。
2、响应实际的GET/POST请求支持跨域。
OPTION请求支持跨域
在public\index.php开始地方添加:
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {header("Access-Control-Allow-Origin: *");header("Access-Control-Allow-Headers: *");header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');exit();
}
GET/POST请求支持跨域
在public\index.php最后地方添加:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
最后整个public\index.php代码:
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------// [ 应用入口文件 ]
namespace think;// OPTION请求支持跨域
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {header("Access-Control-Allow-Origin: *");header("Access-Control-Allow-Headers: *");header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');exit();
}// GET POST请求支持跨域
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');// 加载基础文件
require __DIR__ . '/../thinkphp/base.php';// 支持事先使用静态方法设置Request对象和Config对象// 执行应用并响应
Container::get('app')->run()->send();
这篇关于thinkphp5支持跨域(post-get-option请求)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!