您好,登錄后才能下訂單哦!
http://www.5idev.com/p-thinkphp_success_error.shtml
ThinkPHP 提供了 success 與 error 方法用于帶提示信息的頁面跳轉,如添加數據后顯示提示信息并跳轉等。success 方法用于操作成功后的提示,error 用于操作失敗后的提示,二者使用方法完全一致,下面以 success 方法來進行說明。
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 地址》。
error 方法用法與 sucess 方法完全一致,只是需要注意的是,ThinkPHP 默認配置 error 方法調用的仍是 success.html 模板。如果需要對 error 方法單獨定義模板,可以修改系統默認配置 ThinkPHP/Common/convention.php 文件:
'TMPL_ACTION_ERROR' => 'Public:success', // 默認錯誤跳轉對應的模板文件
或在項目配置里進行重新定義,具體參見《ThinkPHP 項目配置》。
Web 開發中,在需要頁面跳轉并顯示提示信息時,可以直接使用 ThinkPHP 頁面跳轉提供的上述 success 與 error 方法。如果不需要提示而是直接重定向頁面時,請參閱《ThinkPHP redirect 重定向》。
本章節內容共分 2 部分:
1. ThinkPHP 頁面跳轉 success 與 error 方法
2. ThinkPHP redirect 頁面重定向使用詳解與實例
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。