2012-08-02 27 views
0

我正在試圖將eric martin的simplemodal實現到我的Codeigniter項目中。到目前爲止,我所能做的就是給我一個在Firebug中找不到的404頁面。我正在使用該模式提醒用戶他們正在從我的網站重定向到第三方網站。我從我的鏈接href中獲取URL以用作模式中的鏈接,以便用戶可以繼續。Codeigniter和eric martin simplemodal

我的想法是,Jquery會抓住/離開/使用適當的控制器並將正確的視圖加載到模態中。它似乎沒有那樣工作。 Firebug將響應顯示爲404.我嘗試向路由文件添加自定義路由以處理許多不同的鏈接可能性,但這沒有任何效果。我應該如何處理這個問題?

jQuery的

var OSX = { 
     container: null, 
     init: function() { 
      $('.depart').click(function (e) { 
       e.preventDefault(); 
       var myid = $(this).attr('href'); 
       $.get("/depart/" + encodeURIComponent(myid), function(data){ 
        $(data).modal({ 
         opacity: 65, 
         overlayClose: true, 
         onOpen: OSX.open 
        }); 
       }); 
      }); 
     }, 
     open: function (d) { 
      var self = this; 
      self.container = d.container[0]; 
      d.overlay.fadeIn('slow', function() { 
       $("#depart", self.container).show(); 
       d.container.fadeIn('slow', function() { 
        d.data.fadeIn('slow'); 
       }); 
      }); 
     } 
    }; 
    OSX.init(); 
}); 

鏈接

a class="depart" href="http://www.newwebsite.com"

回答

0

所以,這是我想出來的,似乎工作。我更新了jQuery.get以包含url =參數。然後讓Codeigniter在控制器中獲取該變量。如果變量已設置並且數據庫中存在鏈接,則用戶可以通過單擊該鏈接繼續退出該站點。

jQuery的

$.get("/depart/?url=" + encodeURIComponent(myid), function(data){ 

控制器指數法

$url = $this->input->get('url'); 
$this->data['continue'] = isset($url]) && $this->links_model->check_link($url) == TRUE ? '<a href="'.$url.'">Continue</a>' : '<a href="">Continue</a>'; 

這個計算器問題,幫我找到我的路, Passing URL in Codeigniter URL segment

0

以下是我在所有的礦山笨項目https://github.com/sirfilip/ci/blob/master/assets/js/init.js的使用。簡單地說,我通過javascript訪問URL,就像我使用codeiniger一樣。意思是如果我想訪問一個控制器和動作,我做網址:CI.site_url('controller/action'),如果我想訪問基本網址我做CI.base_url('某些圖像的路徑')。奇蹟般有效。