2013-07-09 32 views
0

我想我有一個普通的路由問題。與分頁器上的JS路由 - 頁面

看看我得到了什麼。我有一個分頁頁面。當我進入網頁時,我有一個類似「host/OnlineBanking/session_details/session_id:xxxxxx」的網址。

如果我使用我有類似的東西分頁程序 「主機/ OnlineBanking/session_details/SESSION_ID:XXXXXX /頁:2」

仍然很容易理解。

但問題是我在這裏使用的JS。我收到了一個按鈕,後面有一個點擊事件。

  $.ajax({ 
       type: 'POST',        
       url: "../get_backend_requests",     
       data: "request_id="+request_id,     
       dataType: "html", 
       success :function(html){       
        element.append(html);  
       }    
      }); 

所以,問題是,如果我這樣定義我的網址確實在那裏我的工作與完美貼我首先第一個URL。但是,帶有頁面參數的第二個URL會呈現完整的佈局,而沒有我想要的那些數據。在我從JS調用的操作中,我將autoRender的值設置爲false,所以不存在問題。
我用Firebug弄清楚發生了什麼,問題在於JS只是追加動作來調用前一個動作。所以這個URL看起來像「OnlineBanking/session_details/get_backend_requests」。 所以我可以通過在ajax中使用這個「url:」../../get_backend_requests「來解決這個問題,但是沒有/ page:2的URL不再工作,因爲他嘗試使用和操作爲一個控制器。

任何人都可以給我一個提示來解決這個問題。

非常感謝!

回答

0

這是更好地已宣佈在bootstrap.php中

define('HTTP_HOST', "http://" . $_SERVER['HTTP_HOST'].'/'); 
define('SITE_URL', HTTP_HOST.'your_project_dir_name_if_any/'); 

,並使用常數它如下所示:

$.ajax({ 
      type: 'POST',        
      url: "<?php echo SITE_URL.'controller_name/get_backend_requests';?>",     
      data: "request_id="+request_id,     
      dataType: "html", 
      success :function(html){       
       element.append(html);  
      }    
     }); 
+0

那麼,有沒有辦法改變URL的顯示行爲?因此,如果我從JS調用get_backend_requests-Action,例如來自分頁器的參數被忽略和切割? – user2140111

+0

我的意思是,Get-parameters顯示爲像/ page:5那樣的情況並不正常。我認爲正確的原因是例如Controller/action?param1 = help&param2 = me&param3 = out。 – user2140111

+0

此鏈接可能會幫助您更改URL操作:http://stackoverflow.com/questions/17506287/want-to-remove-action-name-from-url-cakephp –