2012-01-25 75 views
1

我在這裏有問題,我需要這$_SESSION['cart']東西 裏面的所有東西,並將它傳遞給jQuery使用它在一個php-ajax文件,我的問題是,如何做到這一點?

這就是我心目中

function myfunc() 
{ 
    //save cart to db of logged user 
    $("a.savecart").click(function(){ 
     //how to assign the $_SESSION['cart'] into a js variable ? 
     $.ajax({ 
      type: "POST", 
      url: "classes/ajax.cart.php", 
      data: //what to put here ? 
      success: function(data){ 
       alert(data); 
       location.reload(); 
      } 
     }); 
     return false; 
     } 
    }); 
} 

回答

1

只是附和它像下面(只是舉例):

data: {"cart_id" : <?php echo $_SESSION['cart']; ?>}, 

或者,如果你$_SESSION['cart']是一個關聯數組,你可以使用json_encode功能。

data: <?php echo json_encode($_SESSION['cart']); ?>, 

編輯: 例如,如果你的$_SESSION['cart']是像下面的數組:

array(
    'id' => 111; 
    'num' => 222; 
    //etc... 
) 

然後在你的PHP ajax的一部分,您可以通過$_POST['id']$_POST['num']等獲取數據..

+0

是的,這是一個關聯數組.. ..但我怎麼會在PHP的AJAX部分? – sasori

+0

@sasori看我的編輯。 – xdazz

+0

我的$ _SESSION [ '購物']包含這樣'陣列 數據( [1] => 1 [6] => 1 ) 1' – sasori

0

我需要這個$ _SESSION ['cart']東西里面的所有東西,並通過它 jquery在php-ajax文件中使用它,

如果你需要的數據在session中,那麼你可以發送空的ajax調用並使用$ _SESSION ['cart']。無需再傳遞它。

OR

您可以將值分配給隱藏字段,並用它在jQuery的作爲 -

data: $("#session_value").val(), 
+0

如何你傳遞一個空的ajax調用?只是,數據:'',? – sasori

+0

請勿添加選項數據: – KutePHP

0

使用JSON。如果您的服務器上安裝了php> 5.2,則可以使用json_decode和json_encode函數,請參閱manual。在數據參數,你可以使用這些技巧:

data: 'jsondata={"some_key":"' + some_var + '"}' 

關注你應該鍵值對使用雙引號。所以當涉及到腳本,你可以這樣做:

json_decode($_POST['jsondata']);