Кажется, мои навыки поиска подвели меня.У меня есть этот объект php, который я сериализую из записи mysql, и я хочу передать его в качестве аргумента функции javascript, чтобы он мог сравнивать объект со значениями в форме.Из того, что я понял из моего поиска, кодирование объекта как объекта json могло бы помочь, но когда я делаю код json_encode для переменной, это приводит только к {}
.
Вотсоответствующий фрагмент кода:
<?php
$data = new Data();
$data = unserialize(base64_decode($rawdata));//Where $rawdata is the data retrieved from the mysql query.
/* using function such as $data->getName() to retrieve the relevant data */
?>
<form id="myform" action="#" method="post" onsubmit="compareEntry(<?=json_encode($data)?>)">
<!-- Different input and select field initialized with the php data -->
<input type="submit" onclick="compareEntry(<?=json_encode($data)?>)"/>
</form>
<!--<?=json_encode($data)?>-->
Я знаю, что данные php правильно извлекаются из базы данных, поскольку значения в форме все правильно инициализированы.Только с последним html-комментарием я узнал, что у меня пустой объект json.
Вот пример того, что print_r($data)
возвращает (измененная конфиденциальная информация):
(
[m_path:private] =>
[m_version:private] => REL_54
[m_bugs:private] => Array
*RECURSION*
[m_targets:private] => Array
*RECURSION*
[m_symptoms:private] => Array
*RECURSION*
[m_exception:private] => Array
*RECURSION*
[m_instruction:private] => Array
*RECURSION*
[m_sources:private] => Array
*RECURSION*
[m_risks:private] => Array
*RECURSION*
[m_test:private] => Array
*RECURSION*
[m_contact:private] => Array
*RECURSION*
)
1
Делатьсделать что-то не так?Является ли кодирование в JSON правильным подходом в моем сценарии?