2
我將通過ajax傳遞一個id以被$ _SESSION刪除。 ajax部分工作正常,php在POST中接收id,但是可以放棄的不能被解除。爲什麼???在這裏我的代碼:取消設置php會話變量
阿賈克斯部分:
$(".delete").live('click', function(e){
e.preventDefault();
var id_to_remove = $(this).attr('id');
//alert(id_to_remove);
$.ajax({
type: "POST",
url: 'inc/functions/remove_item_from_cart.php',
data: { id : id_to_remove },
success: function(data) {
$("#content").load('inc/functions/get_checkout_content.php');
alert(data);
}
})
});
PHP的接收部分:
session_start();
if(isset($_SESSION['cart']) && isset($_POST['id'])){
//echo var_dump($_SESSION['cart']);
$ncart=$_SESSION['cart'];
if (count($ncart)>0){
unset($ncart[$_POST['id']]); // this is NOT working!!!
$ncart=array_values($ncart);
$_SESSION['cart']=$ncart;
if(count($ncart)==0){
unset($_SESSION['cart']);
unset($_SESSION['cart_total']);
echo "all_empty";
} // this if part is the only working!
}
}
任何有益的建議,爲什麼我不能取消設置會話變量?謝謝!
而正是不使用此代碼工作?我們不會猜測發生了什麼問題...... – 2013-03-02 19:21:13
您使用的是什麼版本的jQuery? ['.live()'](http://api.jquery.com/live/)現已被棄用。 – 2013-03-02 19:21:58
對不起,但只是爲了確認,這個過程是否正確:'$ ncart = $ _ SESSION ['cart'];''爲'ncart = array_values($ ncart);'爲'$ _SESSION ['cart'] = $ ncart ;'? – MichaelRushton 2013-03-02 19:23:52