1

編集: コントローラーに URL を示す必要があった変数 var パスを削除し、URL 自体を使用しました。パス エラーはなくなりましたが、データは取得されません。ファイルの通信で何かが渡されていません。

私がやろうとしているのは、スクロール時にサーバーからページにデータをロードさせることです。その目的のために、私は別の jquery ファイル、ビュー、コントローラー、およびモデルを使用しています。

JQUERY ファイル。あなたはそれが非常に簡単であることがわかります:

    $(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;


    }

}
4

2 に答える 2

1

ここでの問題は、URL を定義または含めていないことだと思います。これを行うためのベスト プラクティスは、ヘッダー セクションにベース URL を定義または含めることです。次の行をヘッダーに追加します

var base_url=;

したがって、この base_url を任意の場所で使用してください。

于 2013-01-11T02:43:48.683 に答える
0

これを試して..

ヘッダー<head>にjavascript変数をbase_url()上部に配置します。

ここ

html

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

jquery

var path = base_url + 'index.php';
于 2013-01-09T12:47:42.653 に答える