Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >thinkphp3.2解决ajax无法刷新表单令牌token

thinkphp3.2解决ajax无法刷新表单令牌token

作者头像
96php.cn
发布于 2019-12-11 08:43:05
发布于 2019-12-11 08:43:05
1.7K00
代码可运行
举报
文章被收录于专栏:www.96php.cnwww.96php.cn
运行总次数:0
代码可运行

使用的框架版本:Thinkphp3.2.5

找到文件ThinkPHP\Library\Think\Controller.class.php

头部修改

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
namespace Think;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
namespace Think;
use Behavior\TokenBuildBehavior;

查找dispatchJump

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        if (true === $ajax || IS_AJAX) {
            // AJAX提交
            $data           = is_array($ajax) ? $ajax : array();
            $data['info']   = $message;
            $data['status'] = $status;
            $data['url']    = $jumpUrl;
            $data['token_key']    = $token[1];
            $data['token_Value']    = $token[2];
            $this->ajaxReturn($data);
        }

修改为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        if (true === $ajax || IS_AJAX) {
            // AJAX提交
            
            /******************************/
            $tokenduixiang=new TokenBuildBehavior();
            $token=$tokenduixiang->getToken();
            /******************************/
            
            
            $data           = is_array($ajax) ? $ajax : array();
            $data['info']   = $message;
            $data['status'] = $status;
            $data['url']    = $jumpUrl;
                        $data['token']    = $token[1]."_".$token[2];
            $this->ajaxReturn($data);
        }

找到文件

ThinkPHP\Library\Behavior\TokenBuildBehavior.class.php

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private function getToken()

修改为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function getToken()

ajax提交数据就可以看到新的token

紧接着自己在ajax回调中修改的值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<meta name="__token__" content="回调回来的token">
<input type="hidden" name="__token__" value="回调回来的token">

这样就可以ajax无刷新更新token

版权声明:若无特殊注明,本文皆为《xiaopang》原创,转载请保留文章出处。

本文链接:thinkphp3.2解决ajax无法刷新表单令牌token - https://cloud.tencent.com/developer/article/1552517

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年2月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ThinkPHP 3.2.3 简单后台模块开发(二)RBAC
RBAC(Role-Based Access Controll)基于角色的访问控制
botkenni
2022/01/10
2K0
ThinkPHP 3.2.3 简单后台模块开发(二)RBAC
yii2.0验证
一般说来,程序猿永远不应该信任从最终用户直接接收到的数据, 并且使用它们之前应始终先验证其可靠性。
botkenni
2022/01/10
2.7K0
【达达前端】Ajax实战项目源码讲解(快速入门的实例)Github源码
什么是Ajax技术?实战中的运用ajax技术,了解前后端交互的方式,了解移动端的模式,了解H5的新技术,了解CSS3的使用,和JQuery的使用。
达达前端
2020/01/02
1.7K0
thinkPHP框架实现的短信接口验证码功能示例
本文实例讲述了thinkPHP框架实现的短信接口验证码功能。分享给大家供大家参考,具体如下:
PHP开发工程师
2021/06/03
3.2K0
ThinkPHP5框架与ThinkPHP3.2的对比区别
今天周一,又有一位新同事入职。正好大牛说要更新框架,最后确定了升级框架,原先使用的 ThinkPHP3.2 版本的,现在确定升级为 5 系列。应该庆幸没选择其他框架,什么 CI、YII、Laravel 之类的,Laravel 了解过一些,但是没深入过,还是 TP 系列使用的顺手一些。 ThinkPHP5 系列,十二载初心不改,值得信赖的 PHP 框架,十二周年献礼版本! ThinkPHP5.1 在 5.0 的基础上对底层架构做了进一步的改进,引入新特性,并提升版本要求。另外一个事实是,5.1 版本看起来对开
沈唁
2018/05/24
3.9K0
Thinkphp3.2简单解决多文件上传只上传一张的问题
好多人在进行多文件上传的时候,最后发现只是上传了一张,主要就是命名所致,因为是同样的名字,所以最后就剩一张图片 解决方法:第一种:
用户2323866
2021/07/08
5230
入坑!通过ajaxreturn jquery json提交form
\Think\Controller类提供了ajaxReturn方法用于AJAX返回数据给客户端(视图、模板、js等)。并且支持JSON、JSONP、XML和EVAL四种方式给客户端接受数据(默认JSON)。
PM吃瓜
2019/08/12
5K0
入坑!通过ajaxreturn jquery json提交form
FeiFeiCms 前台逻辑漏洞分析
该函数直接将 post 的数据传入,则跟进ff_update函数至\Lib\Lib\Model\UserModel.class.php文件
信安之路
2018/12/18
3.1K0
ThinkPHP框架实现定时执行任务的两种方法分析
本文实例讲述了ThinkPHP框架实现定时执行任务的两种方法。分享给大家供大家参考,具体如下:
用户2323866
2021/07/13
1.3K0
Thinkphp-queue自带的队列包使用分析
当前笔记中的内容针对的是 thinkphp-queue 的 v1.1.2 版本,现在官方已经更新到了 v1.1.3 版本, 下文中提到的几个Bug在最新的master分支上均已修复。笔记中的部分内容还未更新。
程序猿的栖息地
2022/04/29
2.1K0
Thinkphp-queue自带的队列包使用分析
PHP-ThinkPHP框架学习
每个项目都有一个独立的配置文件(位于项目目录的Conf/config.php),配置文件的定义格式均采用PHP返回数组的方式,例如:
偏有宸机
2020/11/04
6.9K0
WordPress的主题添加AJAX无刷新提交评论功能
有时主题在提交评论后会刷新整个网页才可获取资源,别人家的都不是这样的,以下可以改善评论后无刷新即可获取资源。
空木白博客
2019/04/23
1.7K0
30分钟全面解析-图解AJAX原理
先上原理图: 高清无码图在这里:点我查看大图!!! 背景: 1.传统的Web网站,提交表单,需要重新加载整个页面。 2.如果服务器长时间未能返回Response,则客户端将会无响应,用户体验很差。 3
悟空聊架构
2018/05/18
3.3K0
AJAX常见面试问题[通俗易懂]
cache:默认为true(当dataType为script时,默认为false), 设置为false将不会从浏览器缓存中加载请求信息。
全栈程序员站长
2022/09/28
1.9K0
thinkphp3.2.3代码审计
源码地址:http://www.thinkphp.cn/download/610.html
F12sec
2022/12/30
1.1K0
thinkphp3.2.3代码审计
【实战】Tp5+小程序(三)--微信登录与令牌
ThinkPHP5 从入门到深入学习,结合实战项目深入理解 ThinkPHP5 的特性和使用方法。深入学习 api 开发,学习微信登录和令牌的相关知识,并理解微信登录流程,完成与微信开放 api 之间的数据交互,完善项目的相应功能。 理解第三方登录授权的 code 和 token 交互过程。
程序小工
2018/09/12
8.8K0
【实战】Tp5+小程序(三)--微信登录与令牌
CVE-2021-39165: 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅
一个百无聊赖的周日晚上,我在知识星球闲逛,发现有一个匿名用户一连向我提出了两个问题:
phith0n
2023/11/03
1K0
CVE-2021-39165: 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅
Yii使用技巧大汇总
db组件 'schemaCachingDuration'=>3600, 为什么不起做用?
botkenni
2019/09/02
2.4K0
相关推荐
ThinkPHP 3.2.3 简单后台模块开发(二)RBAC
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文