ThinkPHP 5 AJAX跨域请求头设置实现过程解析
时间:2022-01-10 来源:互联网
最近用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 <[email protected]> // +---------------------------------------------------------------------- // 应用行为扩展定义文件 return [ // 应用初始化 'app_init' => [], // 应用开始 'app_begin' => [ 'app\\common\\behavior\\CronRun' ], // 模块初始化 'module_init' => [], // 操作开始执行 'action_begin' => [], // 视图内容过滤 'view_filter' => [], // 日志写入 'log_write' => [], // 应用结束 'app_end' => [ 'app\\common\\behavior\\CronRun' ], ];
ok,以上几步就解决跨域请求问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP爱好者。
相关阅读更多 +
-
剑网3伊丽川觅句成诗小游戏第十四关答案分享 2025-11-19 -
我的恋爱逃生攻略第四爱心医院全章节达成流程 2025-11-19 -
币安爆仓事件客服回应详解 用户疑问解答与处理方案 2025-11-19 -
阴阳师彼岸花秘闻本-彼岸花秘闻副本怎么配队通关 2025-11-19 -
怪物猎人旅人新手用什么武器-怪物猎人旅人武器推荐 2025-11-19 -
明日方舟:终末地干员演示-干员秋栗技能是什么 2025-11-19
最近更新