我有问题,我需要这个$_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']);