程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP頁面跳轉success與error方法概述

ThinkPHP頁面跳轉success與error方法概述

編輯:關於PHP編程

ThinkPHP自身提供了success方法與error方法用於實現帶提示信息的頁面跳轉功能,可實現添加數據後顯示提示信息並跳轉的效果。success 方法用於操作成功後的提示,error 用於操作失敗後的提示,二者使用方法完全一致,下面以success 方法來進行說明。
1、success方法
 
success方法語法如下:
success(message, ajax) 
參數說明message可選。頁面提示信息。ajax可選。是否AJAX 方式提交,默認為false 。
如果是AJAX 方式提交的話,success 方法會調用ajaxReturn 方法返回信息。

success方法實例:

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().'[<AHREF="javascript:history.back()">返回</A>]');
}
}

success 模板
 
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","__APP__/User/index");

 
如果要使用U 方法生成跳轉目標地址,可在success.html 中變更URL 屬性為U 方法形式:

<meta http-equiv='Refresh'content='{$waitSecond};URL={:U($jumpUrl)}'>

 
在操作中,對$jumpUrl 模板變量的賦值,相應的也要更改為與U 方法一致,詳情可參考官方手冊《ThinkPHPU 方法動態生成URL 地址》。
  
2、error 方法
 
error方法用法與sucess 方法完全一致,只是需要注意的是,ThinkPHP 默認配置error方法調用的仍是success.html 模板。如果需要對error 方法單獨定義模板,可以修改系統默認配置ThinkPHP/Common/convention.php文件如下:

'TMPL_ACTION_ERROR' => 'Public:success',// 默認錯誤跳轉對應的模板文件

或在項目配置裡進行重新定義。
Web開發中,在需要頁面跳轉並顯示提示信息時,可以直接使用ThinkPHP 頁面跳轉提供的上述success 與error 方法。如果不需要提示而是直接重定向頁面時,可參考手冊《ThinkPHP redirect 重定向》部分。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved