我正在尝试在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;,但我的页面没有得到更新。是因为我在同一页面上无法刷新数据吗?如果是的话,我该如何解决呢? 非常感谢!
答案 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设置为您获得的内容。