如何在会话中删除项目使用javascript的编码器


How to remove the item in session using javascript for codeigniter?

我正在研究一个购物车php(codeigniter)项目。因此,我在会话中添加了项目,如下面的代码。问题是,我想在结帐页面中删除会话中的项目。

但是我当然不能调用php函数来删除会话在javascript中,这意味着,当删除按钮被点击,我该怎么做(不限制使用ajax,简单是最好的),我可以删除会话中的项目?由于

   if ($this->form_validation->run()) {
                    if ($this->session->userdata('purchase') !== false)
                        $purchase_list = $this->session->userdata('purchase');
                    else
                        $purchase_list = array();
                    $purchase = array(
                        'id' => $product[0]['id'],
                        'quantity' => $this->input->post('quantity')
                    );
                    if ($this->input->post('opt1') !== false)
                        $purchase['opt1'] = $this->input->post('opt1');
                    if ($this->input->post('opt2') !== false)
                        $purchase['opt2'] = $this->input->post('opt2');
                    array_push($purchase_list, $purchase);
                    $this->session->set_userdata('purchase', $purchase_list);
                    redirect('cart');
                }

您可以在控制器中定义一个函数来取消会话设置,例如

    class Controllername extends CI_Controller {
    function index(){}
    function reset_session(){
$sesion_variable = 'name_of_session';
    $this->session->unset_userdata($session_variable);
    }
    }

可以通过CURL或ajax调用。结帐页面

来自CodeIgniter的会话类文档

假设您了解购物车,并且知道在结帐场景中在哪里实际取消会话数据。

您可以使用以下语法设置会话中所需项的值:

$this->session->set_userdata('purchase', null); // will set the purchase session data to null

你只知道要设置哪个键为空