我已经没有东西可以尝试了,希望有一些我可以忽略的东西:)
我有一个包含3个功能的控制器网站。一个用于实际视图,另一个用于ajax请求。
这是一个由两部分组成的表格。因此,第一个ajax请求创建数据库条目并使用表单第一部分中的数据填充它,第二个ajax请求获取一些后续信息并使用该数据更新数据库条目。
这一切都发生在一个页面上。
类似于:
public function __construct()
{
parent::__construct();
$this->load->model('entries');
$this->session->keep_flashdata('entry');
}
public function index()
{
$this->load->view('home');
}
public function ajax_one()
{
// Validation etc.
$id = $this->entries->insert_entry();
$this->session->set_flashdata('entry', $id);
$this->load->view('ajax_home');
}
public function ajax_two()
{
// Validation etc.
$this->entries->finish_entry( $this->session->flashdata('entry') );
$this->load->view('ajax_home');
}
正如您所看到的,第一个ajax页面从db条目获取id并将其存储在flashdata中,并认为第二个ajax查询通过flashdata传入id来更新相同的db条目。问题是flashdata在第二个请求中返回空白,即使使用'keep_flashdata'。
我不知道如何处理这个问题。我无法在页面的任何位置填充隐藏字段,因为它在进程中的任何时候都没有重新加载,所以我没有机制可以从第一个ajax函数和第二个函数中获取变量数据。
有什么想法吗?