【问题标题】:Can I have $.get call in $this->pagination->create_links();我可以在 $this->pagination->create_links(); 中调用 $.get 吗?
【发布时间】:2023-03-29 06:10:01
【问题描述】:

我正在开发代码点火器(codeigniter 的新功能),我想在 $.get 上进行分页。

控制器代码在这里:

public function get_todo($id=null)
{
     $this->_required_login();
     if($id!=null)
     {
         $result=$this->todo_model->get([
             'todo_id'=>$id,
             'user_id'=>$this->session->userdata('user_id')
         ]);

     }
     else
     {
         $config = array();
    $config["base_url"] = base_url() . "dashboard/load_todo";   // I want here is $.get instead of a link
    //I have js files in which $.get is.
    $total= $this->todo_model->get_rows($this->session->userdata('user_id')); //Total rows
    $config["total_rows"] = $total;
    $config["per_page"] = 3; // Per Page required
    // I have no idea what it is.
    $config["uri_segment"] = 3;

    $this->pagination->initialize($config);

    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
    // no idea thing ends here

    //getting results and working fine
    $data["results"] = $this->todo_model->
        fetch_data($config["per_page"], $page);
    // Real pain in the neck
    $data["links"] = $this->pagination->create_links();

     }
     $this->output->set_output(json_encode($data));


}

现在关于创建 html 响应的 js 文件

    var load_todo = function() {
    $.get('api/get_todo',function(o){
        //api/get_todo is controller
       var output='';

       for (var i=0;i<o.results.length;i++)
       {
           output+=Template.todo(o.results[i]);  // Pagination result
       }
       output+='<p>'+o.links+'</p>'; // Pagination links
       //console.log(output);
        $("#list_todo").html(output);
    },'json');
};

我希望它有 o.links 有 $.get。

【问题讨论】:

标签: php ajax codeigniter pagination


【解决方案1】:

你忘了返回你的输出。在您的控制器方法get_todo() 中将最后一行编辑为:

 return $this->output
             ->set_content_type('application/json')
             ->set_output(json_encode($data));

【讨论】:

  • 这不是这里的问题:P 它正在做我想做的事情...这里的问题是我正在做 ajax 调用以获取列表,并且在分页时它给了我列表,我是新来的网络开发和代码点火器
  • 我不明白你的意思:“in paging is given me the list”你能详细解释一下吗?
  • 对不起,我拼错了给我链接,我在配置 base_url 中给出了它。但我想要的是当我点击分页的第二页时更新列表的 ajax 调用
  • 所以你的ajax $.get脚本应该在用户每次点击分页链接时被调用?
【解决方案2】:

经过 3 天的挣扎和头痛,我终于得到了自己的答案。对于那些可能对分页有同样想法的人,如果你想为 ajax 调用 get 或 post 进行分页,最好的方法是更改​​ ajax_pagination 库。

ajax_pagination -> create_links() -> getAJAXlink()

并根据需要编辑其代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    相关资源
    最近更新 更多