0

我正在尝试将 eric martin 的 simplemodal 实现到我的 Codeigniter 项目中。到目前为止,我所能做的就是给我一个在 Firebug 中找不到的 404 页面。我正在使用模式来提醒用户他们正在从我的网站重定向到第 3 方网站。我从我的链接 href 中获取 url 以用作模式中的链接,以便用户可以继续。

我的想法是 Jquery 会捕获 /depart/ 并使用适当的控制器并将适当的视图加载到模态中。它似乎不是那样工作的。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"

4

2 回答 2

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>'; 

这个 stackoverflow 问题帮助我找到了自己的方式, 在 Codeigniter URL 段中传递 URL

于 2012-08-03T17:16:20.933 回答
0

这是我在我的所有 codeigniter 项目中使用的https://github.com/sirfilip/ci/blob/master/assets/js/init.js。只需通过 javascript 访问 url,就像使用 codeiniger 一样。这意味着如果我想访问控制器和操作,我会执行 url:CI.site_url('controller/action'),如果我想访问基本 url,我会执行 CI.base_url('path to some image')。奇迹般有效。

于 2012-08-02T23:40:04.257 回答