如何将$_SESSION[';var';]数组传递给jquery并执行ajax


how to pass the $_SESSION['var'] array to jquery and do ajax?

我有问题,我需要这个$_SESSION['cart']里面的所有东西并将其传递给jQuery以在phpajax文件中使用,我的问题是,如何做到这一点?

以下是我的想法

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;
       }
   });
}

只需像下面这样回显(只是示例):

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']等获取数据。

我需要这个$_SESSION["艺术"]东西里的所有东西,然后递给它到jquery在php-ajax文件中使用它,

如果您需要的数据在会话中,那么您可以发送空的ajax调用并使用$_session['cart']。无需再通过。

您可以将值分配给一个隐藏字段,并在jquery中将其用作-

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

使用json。如果您的服务器上有php>5.2,则可以使用json_decode和json_encode函数,请参阅手册中的。在数据参数中,您可以使用以下技巧:

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

请注意,应该在键值对中使用双引号。所以当涉及到脚本时,你可以这样做:

json_decode($_POST['jsondata']);