JS反序列化PHP序列化数组

时间:2014-05-25 15:51:46

标签: javascript php jquery html serialization

我有一个php make数组:

<?php information = array (
    'name' => 'John',
    'surname' => 'Doe'
); ?>

我用php序列化这个数组并将其放入输入值:

<input type="hidden" id="information" name="information" value="<?php echo htmlentities(serialize($hidden_information)); ?>" />

现在JS部分。我得到了这个输入的值:

var information = $('input#information').val();

问题部分:我现在如何用JS这个PHP序列化数组反序列化?我想反序列化'信息'变量。
当它被反序列化时,我想从数组中提醒名字和姓氏。

或者可能,有没有办法在没有反序列化数组的情况下获取此名称和姓氏?

1 个答案:

答案 0 :(得分:2)

你需要将数组转换为JSON格式,JS更容易理解,所以在你的html中这样做:

<input type="hidden" id="information" name="information" value="<?php echo htmlentities(serialize($hidden_information)); ?>" //This will comunicate with PHP
<input type="hidden" id="js_information" name="js_information" value="<?php echo json_encode($hidden_information); ?>" />

信息输入将用于与PHP通信, js_information 用于与JS通信。然后你可以使用以下方法在JS中获取该信息:

var information = JSON.parse($('#js_information').val());

注意:您需要使用PHP 5.2或更高版本,也不需要在jQuery选择器中放置输入,因为您已指定ID `