2014-05-25 7 views
1

У меня есть PHP сделал массив:JS десериализация PHP сериализованного массива

<?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 сериализован массивом? Я хочу переопределить переменную «информация».
Когда он будет неэтериализован, я хочу предупредить имя и фамилию из массива.

Возможно, существует ли какой-либо возможный способ получить это имя и фамилию без повторной инициализации массива?

+0

Вы должны сериализовать, только если вы работаете с PHP, если хотите иметь имя и фамилию человека, просто создайте 2 поля ввода с этой информацией, если это то, что вы хотите, я могу создать вас ответ. – Skatox

+0

Он также свяжется с PHP позже для некоторых других потребностей. Вот почему мне нужно сериализовать его. –

+0

Используйте формат, который понимается как JSON. – Gumbo

ответ

1

Вам нужно преобразовать массив в формате 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, потому что вы указали идентификатор

+1

Вам все еще нужно кодировать специальные символы HTML. – Gumbo

Смежные вопросы