ThinkPHP 5 AJAX跨域请求头设置实现过程解析
发布:smiling 来源: PHP粉丝网 添加日期:2022-03-29 08:55:35 浏览: 评论:0
最近用thinkphp做项目,在测试环境时,存在接口的测试问题,在tp官网也没能找到相关的解决方法,自已看了一下源码,有如下的解决方案。
在项目目录下面,创建common/behavior/CronRun.php文件,文件内容如下:
- <?php
- /**
- * Created by PhpStorm.
- * User: LiuYang
- * Date: 2017/3/9
- * Time: 19:37
- */
- namespace app\common\behavior;
- use think\Exception;
- use think\Response;
- class CronRun
- {
- public function run(&$dispatch){
- $host_name = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : "*";
- $headers = [
- "Access-Control-Allow-Origin" => $host_name,
- "Access-Control-Allow-Credentials" => 'true',
- "Access-Control-Allow-Headers" => "x-token,x-uid,x-token-check,x-requested-with,content-type,Host"
- ];
- if($dispatch instanceof Response) {
- $dispatch->header($headers);
- } else if($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
- $dispatch['type'] = 'response';
- $response = new Response('', 200, $headers);
- $dispatch['response'] = $response;
- }
- }
- }
接着在项目中(tags.php)配置行为动作,如下:
- <?php
- // +----------------------------------------------------------------------
- // | ThinkPHP [ WE CAN DO IT JUST THINK ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- // +----------------------------------------------------------------------
- // | Author: liu21st <liu21st@gmail.com>
- // +----------------------------------------------------------------------
- // 应用行为扩展定义文件
- return [
- // 应用初始化
- 'app_init' => [],
- // 应用开始
- 'app_begin' => [
- 'app\\common\\behavior\\CronRun'
- ],
- // 模块初始化
- 'module_init' => [],
- // 操作开始执行
- 'action_begin' => [],
- // 视图内容过滤
- 'view_filter' => [],
- // 日志写入
- 'log_write' => [],
- // 应用结束
- 'app_end' => [
- 'app\\common\\behavior\\CronRun'
- ],
- ];
ok,以上几步就解决跨域请求问题。
Tags: ThinkPHP5跨域请求头设置
- 上一篇:THINKPHP5分页数据对象处理过程解析
- 下一篇:最后一页

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)