🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 页面跳转 [上一页](45.html "上一页")[下一页](47.html "下一页") 在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的Action类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。使用方法很简单,举例如下:`$User = M('User'); //实例化User对象<br class="calibre5"></br>$result = $User->add($data); <br class="calibre5"></br>if($result){<br class="calibre5"></br>    //设置成功后跳转页面的地址,默认的返回页面是$_SERVER['HTTP_REFERER']<br class="calibre5"></br>    $this->success('新增成功', 'User/list');<br class="calibre5"></br>} else {<br class="calibre5"></br>    //错误页面的默认跳转页面是返回前一页,通常不需要设置<br class="calibre5"></br>    $this->error('新增失败');<br class="calibre5"></br>}`Success和error方法都有对应的模板,并且是可以设置的,默认的设置是两个方法对应的模板都是:`//默认错误跳转对应的模板文件<br class="calibre5"></br>'TMPL_ACTION_ERROR' => THINK_PATH . 'Tpl/dispatch_jump.tpl';<br class="calibre5"></br>//默认成功跳转对应的模板文件<br class="calibre5"></br>'TMPL_ACTION_SUCCESS' => THINK_PATH . 'Tpl/dispatch_jump.tpl';`也可以使用项目内部的模板文件`//默认错误跳转对应的模板文件<br class="calibre5"></br>'TMPL_ACTION_ERROR' => 'Public:error';<br class="calibre5"></br>//默认成功跳转对应的模板文件<br class="calibre5"></br>'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');<br class="calibre5"></br>$this->assign('var2','value2');<br class="calibre5"></br>$this->error('错误的参数','要跳转的URL地址');`当正常方式提交的时候,var1和var2变量会赋值到错误模板的模板变量。 当采用AJAX方式提交的时候,会自动调用ajaxReturn方法传值过去(包括跳转的URL地址url和状态值status) [上一页](45.html "上一页")[下一页](47.html "下一页")