在Codeigniter上滚动时加载

时间:2013-01-09 12:32:40

标签: jquery scroll

编辑:我已经删除了变量var路径,我必须指示控制器的URL并使用url本身,现在路径错误消失但我没有数据。传递文件的东西没有被传递。

我要做的是滚动,让页面从服务器加载数据。为此,我使用单独的jquery文件,视图,控制器和模型。

JQUERY FILE。你会发现它很简单:

    $(document).ready(function() {

    var pageLoaded = 1; //this basically says that we are on page 1 of the results

      $(window).scroll(function()
       {

        if($(window).scrollTop() == $(document).height() - $(window).height())
        {
         pageLoaded = pageLoaded+1; //when this condition has met, increase the pageLoaded so that I can tell php to load in data for page 2/3/4/5, etc, etc

/*// below I send the data to the controller named Home its function loadData gets a variable named id_load with value = to pageLoaded*/

         $.get('home/loadData', {'id_load':pageLoaded}, 
            function(data)
            {
                if (data != "")
                {
                 $('#submissions').append(data);
                }
             }
         );
         //alert(pageLoaded);
        }
       }
      );


    });

控制器:

<?php if (! defined('BASEPATH')) exit ('No direct script access allowed');


class Home extends CI_Controller 
{
    function __construct()
    {

        parent::__construct();

        $this->load->model('load_model');
        $this->output->enable_profiler(TRUE);

    }


    public function loadData ()
    {
        $pageNumber = $this->input->get('id_load'); 
        $this->load_model->loadPage($pageNumber);

    }


    public function index()  
    {
      $data = array('title' =>'homepage', 'main_content' =>'home_v');
      $this->load->view('template', $data); 

    }



} 

并且当你滚动时,MODEL应该显示内容,因为它获得了新值:

<?php


class Load_model extends CI_Model {



    public function loadPage ($pagenumber )

    {

        $sql = $this->db->where('id_load', $pagenumber)->get('data');

        $cadena = "";

        foreach($sql->result_array() as $reg)
        {
        $cadena =   $reg['content'];    

        }

        echo $cadena;


    }

}

2 个答案:

答案 0 :(得分:1)

我认为这里的问题是你没有定义或包含URL。执行此操作的最佳做​​法是在标题部分中定义或包含基本URL。将以下行放入标题

var base_url =;

然后在你想要的任何软件中使用这个base_url。

答案 1 :(得分:0)

试试这个..

标题<head>中的

base_url()的javascript变量放在顶部..

这里

<强> HTML

<head>
  <script>
     var base_url=<?php echo base_url()?>;
  </script>
 ....
</head>

<强> jquery的

var path = base_url + 'index.php';