2011-11-01 4 views
4

У меня есть переменная PHP под названием $VrHistorySlider, определяемый как это:Передача данных из PHP в JavaScript

$VrHistorySlider.='<table border="0"><tr><td>(oldest)</td><td style="padding:0px 10px 0px 10px ;">&nbsp;&nbsp;<div id="note-slider-'.$VrNoteId.'" style="width:'.$VrSliderWidth.'px;background: url(\''.$VrSliderBGImg.'\') repeat-x ;" class="ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all"></div>&nbsp;&nbsp;</td><td>(latest)</td></tr></table>'; 

Теперь я хочу, чтобы сохранить его в переменной JavaScript. Я попытался это:

var slidercontent = <?= $VrHistorySlider ?>; 

, но это дает мне эту ошибку:

unknown XML entity nbsp
<parent xmlns=""><table border="0"><tr...td>(latest)</td></tr></table></parent>

Если не так, то как я могу назначить этот $VrHistorySlider в JavaScript переменной slidercontent?

ответ

2
var slidercontent = <?php echo json_encode($VrHistorySlider); ?>; 
+0

@ icktoofay: Я использовал json_encode() Так что, когда я использую эту переменную в PHP скрипт для этого требуется, чтобы преобразовать эту переменную с помощью json_decode, чтобы получить исходное значение.? Я использовал json_decode(), но он возвращает пустое. –

+0

@ user822418: 'json_encode' возвращает закодированное значение; он не изменяет значение, которое вы передаете ему. (дополнительно, если этот ответ решил вашу проблему, пожалуйста, примите его, отметив полый флажок рядом с моим ответом). – icktoofay

0

Все, что вам нужны кавычки вокруг переменной PHP, так как при попытке и назначить его, как, что он помещает необработанный код на страницу, а не делает его строку.

Вам также необходимо избегать кавычек в строке, так как иначе они будут казаться, что строка заканчивается, и она не будет работать.

Так оно и должно выглядеть следующим образом:

var slidercontent = "<?=addslashes($VrHistorySlider)?>"; 
+0

'addslashes', похоже, не скрывает никаких символов Unicode, хотя я не знаю, какая проблема, является. – icktoofay

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