2015-06-02 24 views
0

我做了一個簡單的自動搜索,其中當用戶搜索後,搜索結果顯示在下拉框中。如果他點擊任何搜索項目,則會將用戶帶到另一個頁面,其中將顯示有關該項目的更多詳細信息。從javascript重定向到codeigniter中的另一個頁面與URL參數後

那麼作爲,如果他點擊「離散數學」,那麼新的頁面URL將被

localhost/example/search?s=discrete+maths 

和細節將顯示有關該主題

我的JavaScript代碼:

function searchclick(subid,subjct){ 
      //subid is subject id and subjct is subject name 

      var search_var = { 

       action : "gosearch", 
       subid : subid, 
       subjct : subjct 
           }; 

       $.ajax({ 

       type : "POST", 
       url : "<?php echo base_url(); ?>search", 
       cache : false, 
       data : search_var, 
       success : function(r) 
       { 


       } 
      }); 
} 

我有一個名爲Search的控制器加載了稱爲搜索的視圖。

我想將這些數據傳遞給該控制器,然後將重定向到搜索視圖與這樣的網址 - >localhost/example/search?s=discrete+maths以及頁面的標題將更改爲搜索項目的名稱。

我想不出辦法。我是新的codeigniter。

我只想在獲取數據並更改url參數後重定向到該視圖。沒有其他的。只有這會有所幫助。

public function search() { 
    /* your code */ 
    header("Location: http://www.example.com/"); 
} 

如果您需要發送回一些數據的前端,您可以發送新網址JS上:

回答

0

發送數據控制器,控制器做任何你需要做的,並直接重定向到所需的URL後前端和重定向有:

// controller 
public function search() { 
    /* your code */ 
    $arr = array('redirect' => 'http://example.com/', 'other_data' => 1);  
    header('Content-Type: application/json'); 
    echo json_encode($arr); 
} 

// javascript 
    success : function(response){ 
      window.location.replace(response['redirect']) 
      }, 

這不是codeigniter特定的信息。這是一般的AJAX方法。

+0

我如何更改URL添加參數? – marukobotto

+0

網址只是一個字符串,你可以簡單地做 $ url =「http://www.example.com/」。 「?search?s =」。 $參數; header(「Location:$ url」); 你有一些嚴重缺乏有關PHP的基本知識。請做一些教程。 – Draco

相關問題