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

浏览:1014 发布日期:2019/02/16 分类:功能实现 关键字: thinkphp token ajax
thinkphp3.2解决ajax无法刷新表单令牌token
使用的框架版本:Thinkphp3.2.5
找到文件ThinkPHP\Library\Think\Controller.class.php
头部修改namespace Think;namespace Think;
use Behavior\TokenBuildBehavior;
查找dispatchJump        if (true === $ajax || IS_AJAX) {
            // AJAX提交
            $data           = is_array($ajax) ? $ajax : array();
            $data['info']   = $message;
            $data['status'] = $status;
            $data['url']    = $jumpUrl;
            $this->ajaxReturn($data);
        }
修改为        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.phpprivate function getToken()修改为public function getToken()ajax提交数据就可以看到新的token

紧接着自己在ajax回调中修改的值<meta name="__token__" content="回调回来的token">
<input type="hidden" name="__token__" value="回调回来的token">
这样就可以ajax无刷新更新token
原文连接:http://www.96php.cn/post-67.html
评论( 相关
后面还有条评论,点击查看>>