http://www.5idev.com/p-thinkphp_success_error.shtml
目前創(chuàng)新互聯(lián)建站已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管運營、企業(yè)網(wǎng)站設(shè)計、中江網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
ThinkPHP 提供了 success 與 error 方法用于帶提示信息的頁面跳轉(zhuǎn),如添加數(shù)據(jù)后顯示提示信息并跳轉(zhuǎn)等。success 方法用于操作成功后的提示,error 用于操作失敗后的提示,二者使用方法完全一致,下面以 success 方法來進(jìn)行說明。
success 方法語法如下:
success(message, ajax)
參數(shù) | 說明 |
---|---|
message | 可選。頁面提示信息。 |
ajax | 可選。是否 AJAX 方式提交,默認(rèn)為 false 。 |
如果是 AJAX 方式提交的話,success 方法會調(diào)用 ajaxReturn 方法返回信息,具體參看《ThinkPHP AJAX》。
public function insert(){ // 省略部分其他代碼 if($lastInsId = $Dao->add()){ // 頁面跳轉(zhuǎn)目標(biāo)地址 $this->assign("jumpUrl","index"); $this->success("插入數(shù)據(jù) id 為:$lastInsId"); }else{ header("Content-Type:text/html; charset=utf-8"); exit($Dao->getError().' [ 返 回 ]'); } }
success 方法默認(rèn)調(diào)用公共目錄即 TPL/Public/ 下的 success.html 模板。在該模板中,接收如下模板變量:
模板變量 | 說明 |
---|---|
$waitSecond | 跳轉(zhuǎn)等待時間,單位為秒,默認(rèn) success 1 秒,error 3 秒。 |
$jumpUrl | 跳轉(zhuǎn)目標(biāo)頁面地址,默認(rèn)為 $_SERVER["HTTP_REFERER"] (本操作前一頁)。 |
$msgTitle | 操作標(biāo)題。注:賦值該變量不會生效,success 會取語言包里 _OPERATION_SUCCESS_ 配置信息,error 取 _OPERATION_FAIL_ 配置信息。 |
$message | 頁面提示信息。 |
$status | 操作狀態(tài),默認(rèn) 1 表示成功,0 表示失敗,具體還可以由項目本身定義規(guī)則。 |
success 實際仍是調(diào)用 display() 方法輸出 success.html 模板。因此可以根據(jù)實際情況對 success.html 模板進(jìn)行修改如添加更多信息提示或者進(jìn)行 CSS 美工設(shè)置等以滿足實際需求,上面這些模板變量只是一些參考變量。
$jumpUrl 變量說明:
$jumpUrl 變量如果不存在,默認(rèn)跳轉(zhuǎn)地址是 $_SERVER["HTTP_REFERER"] ,一些常見的跳轉(zhuǎn)頁面寫法參考:
// 本模塊其他方法如 index 方法 $this->assign("jumpUrl","index"); // 帶上參數(shù) $this->assign("jumpUrl","index/section/".$section); // 其他模塊 $this->assign("jumpUrl","/User/index");
如果要使用 U 方法生成跳轉(zhuǎn)目標(biāo)地址,可在 success.html 中變更 URL 屬性為 U 方法形式:
在操作中,對 $jumpUrl 模板變量的賦值,相應(yīng)的也要更改為與 U 方法一致,詳細(xì)參見:《ThinkPHP U 方法動態(tài)生成 URL 地址》。
error 方法用法與 sucess 方法完全一致,只是需要注意的是,ThinkPHP 默認(rèn)配置 error 方法調(diào)用的仍是 success.html 模板。如果需要對 error 方法單獨定義模板,可以修改系統(tǒng)默認(rèn)配置 ThinkPHP/Common/convention.php 文件:
'TMPL_ACTION_ERROR' => 'Public:success', // 默認(rèn)錯誤跳轉(zhuǎn)對應(yīng)的模板文件
或在項目配置里進(jìn)行重新定義,具體參見《ThinkPHP 項目配置》。
Web 開發(fā)中,在需要頁面跳轉(zhuǎn)并顯示提示信息時,可以直接使用 ThinkPHP 頁面跳轉(zhuǎn)提供的上述 success 與 error 方法。如果不需要提示而是直接重定向頁面時,請參閱《ThinkPHP redirect 重定向》。
本章節(jié)內(nèi)容共分 2 部分:
1. ThinkPHP 頁面跳轉(zhuǎn) success 與 error 方法
2. ThinkPHP redirect 頁面重定向使用詳解與實例