ThinkPhp學習

頁面跳轉javascript

 
 

界面跳轉是很經常使用的操做,因此基於ubuntu16系統,這周學習了ThinkPHP頁面跳轉和重定向。java

 

頁面跳轉

系統的Think\Controller類內置了兩個頁面跳轉方法error和success,分別用於錯誤(提示)跳轉和成功(提示)跳轉。
兩個方法都會輸出一個提示信息頁面,而後自動跳轉到指定的地址。簡單例子以下:ubuntu

$New = M('New'); //實例化New對象
    $result = $New->add($data); 
if($result){
        // 成功後跳轉到新聞列表頁面
        $this->success('新增成功,即將返回列表頁面', '/New/index');
    } else {
        // 錯誤頁面的默認跳轉頁面是返回前一頁,一般不須要設置
        $this->error('新增失敗');
}

success和error方法有三個參數,分別是提示信息、跳轉地址和跳轉頁面等待時間(秒),除了第一個參數外其餘都是可選的。
(提示信息:成功或者錯誤信息字符串。)
跳轉地址:頁面跳轉地址是可選的,success方法的默認跳轉地址是$_SERVER["HTTP_REFERER"],error方法的默認跳轉地址是javascript:history.back(-1);。
等待時間:默認的等待時間success方法是1秒,error方法是3秒。數組

success和error方法均可以對應的模板,默認兩個方法對應的模板是框架自帶的跳轉模板dispatch_jump.tpl:框架

//默認錯誤跳轉對應的模板文件
'TMPL_ACTION_ERROR' => THINK_PATH . 'Tpl/dispatch_jump.tpl',
//默認成功跳轉對應的模板文件
'TMPL_ACTION_SUCCESS' => THINK_PATH . 'Tpl/dispatch_jump.tpl',

發現能夠從新定義跳轉模板,一般建議直接放到項目目錄下面(下面採用公共模塊的模板做爲項目統一的跳轉模板):ide

//默認錯誤跳轉對應的模板文件
'TMPL_ACTION_ERROR' => 'Common@Public/error',
//默認成功跳轉對應的模板文件
'TMPL_ACTION_SUCCESS' => 'Common@Public/success',

重定向
若是不須要提示頁面,ThinkPHP還能夠實現直接重定向操做,Think\Controller類提供了redirect方法實現頁面的重定向功能。函數

重定向到操做
redirect('重定向操做地址(通常爲[控制器/操做])','參數(字符串或者數組)','重定向等待時間(秒)','重定向提示信息')學習

$New = M('New'); //實例化New對象
    $result = $New->add($data); 
if($result){
        // 停留5秒後跳轉到New模塊的category操做,而且顯示頁面跳轉中字樣
        $this->redirect('New/category', 'cate_id=2&status=1', 5,'頁面跳轉中...');
    } else {
        // 錯誤頁面
        $this->redirect('New/error');
}

能夠傳入參數和設置重定向的等待時間,甚至給出等待的提示信息:this

注意:重定向後會改變當前的URL地址。url

 

重定向到URL

若是你僅僅是想重定向要一個指定的URL地址,而不是到控制器的操做方法,能夠直接使用redirect函數重定向,例如:

$New = M('New'); //實例化New對象
    $result = $New->add($data); 
if($result){
    //重定向到指定的URL地址
    redirect('/New/category/cate_id/2', 5, '頁面跳轉中...');
}

redirect函數的第一個參數是要跳轉的實際URL地址。

相關文章
相關標籤/搜索