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"
如果您觉得文章对你有帮助,可以进行打赏。
打赏多少,您高兴就行,谢谢您对琅枫博客的支持! ~(@^_^@)~
微信打赏

支付宝打赏
