ajax跨域请求怎样解决?在Thinkphp中的解决方法介绍
Admin 2021-04-27 群英技术资讯 1487 次浏览
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
laravel框架是PHP中比较常用的框架,有很多新手在学习PHP时会遇到一些laravel框架相关的故障问题不知道怎么样解决,下面小编就给大家介绍一下常见的故障问题以及解决办法。
thinkPHP5框架是PHP中常用的框架之一,很多新手在学习thinkPHP5框架,可能对于model的操作,增删查改,聚合,软删除等这些不是很清楚,对此这篇问给大家分享一些技巧,小编觉得是比较实用的,感兴趣的朋友可以看一下。
在本篇文章里小编给大家整理了一篇关于php memcached的实例用法内容,有兴趣的朋友们可以跟着学习参考下。
这篇文章给大家分享的是有关laravel请求参数校验的方法。小编觉得挺实用的,因此分享给大家做个参考,有这方面学习需要的朋友可以参考参考,下面跟随小编一起来了解一下吧。
这篇文章主要介绍了Laravel5.1 框架模型远层一对多关系,结合实例形式分析了laravel5.1框架模型远层一对多关系相关原理、实现方法与操作注意事项,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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备09006778号 域名注册商资质 粤 D3.1-20240008