2013-05-13 131 views
0

我正在使用jquery ajax函數來設置codeigniter會話,但無法設置並獲得響應回!設置codeigniter會話使用jquery ajax

$.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')); 
} 

請幫幫忙!

回答

0

在代碼:

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

結果是對象。對於完全看它,試試這個代碼:

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

末看到在您的瀏覽器的開發控制檯輸出

+0

仍然沒有工作! – 2013-05-13 10:33:24

+0

你是否要求工作正確嗎? Ypu可能會通過開發工具(FF中的螢火蟲或Chrome中的開發者控制檯)檢查您的ajax請求和響應 – Eugene 2013-05-13 10:35:49

+0

是的,我使用螢火蟲,請求工作正常,但響應是空的,不知道我犯了什麼錯誤! – 2013-05-13 10:37:33

0

嘗試在[您的網址] json_response使用響應變量?然後在你的php中對你的數據進行http [url]?json_response =並將它回顯出來以便一次性收到你的ajax請求。你應該設置你的ajax.dataType只接受json。然後,你應該能夠使用PHP JSON編碼數據ajax.success內,像這樣:

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

或在您的ajax.complete:

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