使用jquery ajax设置codeigniter会话

时间:2013-05-13 10:20:19

标签: ajax jquery session-variables

我正在使用jquery ajax函数来设置codeigniter会话,但无法设置并获得响应!

$.ajax({
        url: site_url+'controller/cart/'+id,
        dataType : 'json',
        success: function(result) {
            alert(result);
        }
    }); 

在购物车功能方面,

public function cart($id) {
    if($this->session->userdata('cart') == "" ) {
        $cart = array();
    } else {
        $cart = $this->session->userdata('cart');
    }

    if (!in_array($id, $cart)) {
        array_push($cart, $id);
        $this->session->set_userdata('cart', $cart);
    }

    echo json_encode($this->session->userdata('cart'));
}

请帮忙!

2 个答案:

答案 0 :(得分:0)

在代码中:

success: function(result) {
     alert(result);
}

结果是对象。要完全查看它,请尝试以下代码:

success: function(result) {
     console.log(result);
}

结束查看浏览器开发控制台中的输出

答案 1 :(得分:0)

尝试在[你的网址]中使用响应变量?json_response。然后在你的php中为您的数据制作http [url]?json_response =并将其回显以便您的ajax请求一次性接收。您应该将ajax.dataType设置为仅接受json。那么你应该能够在ajax.success中使用php json编码数据,如下所示:

success: function (data){
 if(window.console){
  console.log(data);
 }
}

或在你的ajax.complete中:

complete: function (response){
 if(window.console){
  console.log(response.responseText);
 }
}