在Codeigniter上重新打开页面

时间:2015-07-16 23:38:34

标签: codeigniter

我正在尝试在Codeigniter上重新打开相同的页面。请参阅以下代码:

<?php
class Leads extends CI_Controller
{
public $tempName;
public $tempFrom;
public $tempTo;

public function index() {
    $this->load->model('Lead');
    $leads = $this->Lead->getAllLeads();
    $pageNum = count($leads);
    $this->load->view('main', array('leads' => $leads, 'pageNum' => $pageNum));
}

public function getLeads(){
    $this->load->model('Lead');
    $name = $this->input->post('name');
    $from = $this->input->post('from');
    $to = $this->input->post('to');
    $leads = $this->Lead->getLeads($name, $from, $to);
    $pageNum = count($leads);
    $this->load->view('main', array('leads' => $leads, 'pageNum' => $pageNum));
}
}
?>

正如你所看到的,首先我打开主要的&#39;来自&#39; index()&#39;。主要是,我打电话给&#39; getLeads()&#39;,但我的页面没有得到更新。是因为我在同一页面上无法刷新数据吗?如果是的话,我该如何解决呢? 非常感谢!

2 个答案:

答案 0 :(得分:0)

您无法从视图中调用控制器。听起来你可能应该在你的&#34; main&#34;中使用AJAX。查看从getLeads()获取其他数据。

答案 1 :(得分:0)

选项A:

将js重定向到您拥有的相同功能,但将方法更改为get(在URL中发送params并使用$this->input->get()在服务器上获取它们。)

选项B:

由于您要发布到getLeads,我假设您使用的是ajax。由于您使用的是ajax,因此您应该返回要在您的网站上呈现的网址或数据。也许您可以使用$this->session->set_flashdata('leads',$leads)$this->session->set_flashdata('pageNum',$pageNum),将网址发送到另一个控制器功能,提取潜在客户和pageNum $this->session->flashdata('leads')&amp; $this->session->flashdata('pageNum')然后渲染视图?

使用加载视图进行响应不会自动将html设置为您获得的内容。