ajax跨域请求怎样解决?在Thinkphp中的解决方法介绍
Admin 2021-04-27 群英技术资讯 1395 次浏览
ajax跨域请求问题要如何解决呢?下面给大家分享一个解决在ThinkPHP,解决AJAX跨域请求的实例,如果你也是同样的情况,可以参考以下解决方案。
最近用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,以上几步就解决跨域请求问题。
对ajax跨域请求如何解决的介绍就到这,希望上述方法能帮助到大家。想要了解更多ajax跨域请求问题,大家可以关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php接口中interface的使用方法:1、说明,接口中的方法都是抽象方法,并且是public;2、接口同样可以继承接口,但是子类必须实现所有方法;3、实现多重继承。
php数组排序算法:1、冒泡排序,重复地走访过要排序的数列。2、选择排序,在未排序序列中找到最小元素。3、插入排序,在已排序序列中从后向前扫描。4、快速排序,将要排序的数据分割成独立的两部分。
这篇文章给大家分享的是基于PDO实现学生信息管理系统的思路以及代码,对于大家学习PDO实现管理系统具有一定的借鉴价值,下面就一起跟随小编学习一下吧。
PHP7栏目讲解如何配置mysqli和使用mysqli连接mysql,方法简单明了,有需要的朋友可以看看,学习学习。
今天小编就为大家分享一篇关于PHP的mysqli_stat()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008