У меня есть PHP, который выводит некоторый код jQuery, используя <<<EOT
. PHP содержит массив, который я хочу использовать внутри jQuery, но не могу заставить его работать.PHP массив в массив jQuery в пределах <<< EOT
Проблема с массивом jQuery всегда равна null
. Я попробовал несколько способов сделать
PHP:
$myPHPVar = array('name' : 'data1', 'description' : 'data2');
function confirmation() {
global $myPHPVar;
?>
<script type="text/javascript">
var $myjQueryVar = <?php echo json_encode($myPHPVar); ?>
</script>
<?php
var $confirmation = <<<EOT
<script>
function postToFeed() {
var obj = {
name: $myjQueryVar['name'],
description: $myjQueryVar['description']
};
feed.post(obj);
}
</script>
<div><a href="#" onClick="postToFeed()">Share your results!</a></div>
EOT;
return $confirmation;
}
В приведенном выше коде, $myjQueryVar
всегда нуль. Я вырезал нерелевантный код и предоставил большую часть вышесказанного, но я думаю, что он точно представляет логику моего кода по этой проблеме.
Из этого кода видно, что я делаю неправильно?
EDIT
В моем примере кода выше, я писал:
$myPHPVar = array('name' : 'data1', 'description' : 'data2');
Я не знаю, если это имеет значение, но фактический код, я использую это:
$myPHPVar = array(
"name" => 'Odio a',
"description" => 'Phasellus viverra vel odio a laoreet.'
);
Тем не менее, после нижеследующего предложения @Jan, представленный результат:
function postToFeed() {
var obj = {
name: ,
description:
};
Визуализированное вывод показывает 'имя:' и ошибки в Firefox с 'SyntaxError: ожидается выражение, есть '' имя:' – rwkiii
Что такое на самом деле ** в ** '$ myjQueryVar'? – Jan
Я отредактировал мой вопрос. Думаю, это отвечает на ваш вопрос? – rwkiii