CodeIgniter Flashdata和ajax

时间:2014-02-20 16:26:15

标签: php ajax codeigniter

我已经没有东西可以尝试了,希望有一些我可以忽略的东西:)

我有一个包含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函数和第二个函数中获取变量数据。

有什么想法吗?

0 个答案:

没有答案