个人博客 > 学无止境 > PHP > thinkphp页面跳转实现办法

thinkphp页面跳转实现办法

博主在用thinkphp开发中,遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的Action类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。使用方法很简单,举例如下:

$User = M('User');//实例化User对象
$result = $User->add($data);
if($result){
//设置成功后跳转页面的地址,默认的返回页面是$_SERVER['HTTP_REFERER']
    $this->success('新增成功','User/list');
}else{
//错误页面的默认跳转页面是返回前一页,通常不需要设置
    $this->error('新增失败');
}

Success和error方法都有对应的模板,并且是可以设置的,默认的设置是两个方法对应的模板都是:

//默认错误跳转对应的模板文件
'TMPL_ACTION_ERROR'=> THINK_PATH .'Tpl/dispatch_jump.tpl';
//默认成功跳转对应的模板文件
'TMPL_ACTION_SUCCESS'=> THINK_PATH .'Tpl/dispatch_jump.tpl';
也可以使用项目内部的模板文件
//默认错误跳转对应的模板文件
'TMPL_ACTION_ERROR'=>'Public:error';
//默认成功跳转对应的模板文件
'TMPL_ACTION_SUCCESS'=>'Public:success';

模板文件可以使用模板标签,并且可以使用下面的模板变量:

$msgTitle    操作标题    
$message    页面提示信息    
$status    操作状态 1表示成功 0 表示失败 具体还可以由项目本身定义规则    
$waitSecond    跳转等待时间 单位为秒    
$jumpUrl    跳转页面地址    
success和error方法会自动判断当前请求是否属于Ajax请求,如果属于Ajax请求则会调用ajaxReturn方法返回信息,具体可以参考后面的AJAX返回部分。

3.1版本开始,error和success方法支持传值,无论是跳转模板方式还是ajax方式 都可以使用assign方式传参。例如:

$this->assign('var1','value1');
$this->assign('var2','value2');
$this->error('错误的参数','要跳转的URL地址');

当正常方式提交的时候,var1和var2变量会赋值到错误模板的模板变量。当采用AJAX方式提交的时候,会自动调用ajaxReturn方法传值过去(包括跳转的URL地址url和状态值status)。

以上就是对thinkphp页面跳转实现办法的全部内容。

本文出自:琅枫个人博客。如需转载请注明出处!

本文出处:"https://www.phpfeng.cn/learn/php/187.html"

如果您觉得文章对你有帮助,可以进行打赏。
打赏多少,您高兴就行,谢谢您对琅枫博客的支持! ~(@^_^@)~

微信打赏

琅枫博客微信号

支付宝打赏

琅枫博客个人支付宝
本文关键词: thinkphp 页面 办法



你想在庞大的互联网上留下一丝足迹?

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

点我了解如何搭建个人博客?