Codeigniter方法与url相关的ajax问题

时间:2012-06-12 09:02:07

标签: ajax codeigniter url methods

我有一个控制器,我有一个名为index的方法。 在这个方法中,我正在从数据库中检索数据并使用分页库设置变量来查看分页。当我添加一条新记录时,我正在使用ajax攻击另一个函数。插入后我打电话

$this->index();

现在在索引中我正在检查条件

if($this->input->is_ajax_request()){
    //dont load header and footer
}

但问题是,当我从我的保存函数索引时,它会丢失ajax请求并且我的索引函数中的条件未经检查,并且页眉和页脚始终被加载。我希望ajax请求仍然可用,即使我从一个codeigniter方法跳转到另一个方法?有什么建议吗?或改变原生。 因为我不想创建另一个函数,再次使用页眉和页脚创建分页。

1 个答案:

答案 0 :(得分:1)

可能有用的东西是CodeIgniter's session class which has a flashdata method。 Flashdata是一些会话数据,仅存储在下一个服务器请求中,然后被删除。

在你的保存功能中,最后你可以这样做:

$this->session->set_flashdata('ajax', true);

并且作为索引函数中条件的一部分,您可以:

if($this->input->is_ajax_request() || $this->session->flashdata('item')){
    //dont load header and footer
}

然后,这将检查请求实际上是ajax请求还是临时设置会话变量以告诉CodeIgniter它应该被视为ajax请求。