success 方法语法如下:
success(message, ajax)
参数 | 说明 |
---|---|
message | 可选。页面提示信息。 |
ajax | 可选。是否 AJAX 方式提交,默认为 false 。 |
如果是 AJAX 方式提交的话,success 方法会调用 ajaxReturn 方法返回信息,具体参看《ThinkPHP AJAX》。
public function insert(){ // 省略部分其他代码 if($lastInsId = $Dao->add()){ // 页面跳转目标地址 $this->assign("jumpUrl","index"); $this->success("插入数据 id 为:$lastInsId"); }else{ header("Content-Type:text/html; charset=utf-8"); exit($Dao->getError().' [ <A HREF="javascript:history.back()">返 回</A> ]'); } }
success 方法默认调用公共目录即 TPL/Public/ 下的 success.html 模板。在该模板中,接收如下模板变量:
模板变量 | 说明 |
---|---|
$waitSecond | 跳转等待时间,单位为秒,默认 success 1 秒,error 3 秒。 |
$jumpUrl | 跳转目标页面地址,默认为 $_SERVER["HTTP_REFERER"] (本操作前一页)。 |
$msgTitle | 操作标题。注:赋值该变量不会生效,success 会取语言包里 _OPERATION_SUCCESS_ 配置信息,error 取 _OPERATION_FAIL_ 配置信息。 |
$message | 页面提示信息。 |
$status | 操作状态,默认 1 表示成功,0 表示失败,具体还可以由项目本身定义规则。 |
success 实际仍是调用 display() 方法输出 success.html 模板。因此可以根据实际情况对 success.html 模板进行修改如添加更多信息提示或者进行 CSS 美工设置等以满足实际需求,上面这些模板变量只是一些参考变量。
$jumpUrl 变量说明:
$jumpUrl 变量如果不存在,默认跳转地址是 $_SERVER["HTTP_REFERER"] ,一些常见的跳转页面写法参考:
// 本模块其他方法如 index 方法 $this->assign("jumpUrl","index"); // 带上参数 $this->assign("jumpUrl","index/section/".$section); // 其他模块 $this->assign("jumpUrl","/User/index");
如果要使用 U 方法生成跳转目标地址,可在 success.html 中变更 URL 属性为 U 方法形式:
<meta http-equiv='Refresh' content='{$waitSecond};URL={:U($jumpUrl)}'>
在操作中,对 $jumpUrl 模板变量的赋值,相应的也要更改为与 U 方法一致,详细参见:《ThinkPHP U 方法动态生成 URL 地址》。