ajax跨域请求怎样解决?在Thinkphp中的解决方法介绍
Admin 2021-04-27 群英技术资讯 1695 次浏览
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文件包含漏洞:1、LFI,本地文件包含漏洞,顾名思义,指的是能打开并包含本地文件的漏洞。2、RFI,远程文件包含漏洞。是指能够包含远程服务器上的文件并执行。
laravel forge是一个使PHP部署变得轻而易举的工具,它允许用户使用Git和一些流行的服务器提供商来启动云服务器并处理部署过程。laravel forge拥有大量功能和易于使用的UI,可让用户轻松创建和配置服务器以及部署应用程序;配置服务提供商后,很有可能用户无需访问AWS控制台即可再次管理服务器。
本文主要给大家分享的是laravel服务容器的内容,服务容器是用于管理类(服务)的实例化的机制,下文对laravel服务容器及使用,以及服务绑定与解析都有详细的介绍,感兴趣的朋友就继续往下看吧。
这篇文章主要介绍了PHP实现通过二维数组键值获取一维键名操作,涉及php数组遍历、判断、搜索等相关操作技巧,需要的朋友可以参考下
inet_pton是一个IP地址转换函数,可以在将IP地址在“点分十进制”和“二进制整数”之间转换,这篇文章主要介绍了PHP inet_pton 网络函数,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008