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

來源:互聯網
上載者:User
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().'[返回]');}}

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 方法形式:



在操作中,對$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 重新導向》部分。

http://www.bkjia.com/PHPjc/824794.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/824794.htmlTechArticleThinkPHP自身提供了success方法與error方法用於實現帶提示資訊的頁面跳轉功能,可實現添加資料後顯示提示資訊並跳轉的效果。success 方法用於...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.