編集: コントローラーに 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;
}
}