2012-01-25 42 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']);