Область видимости PHP -> Шаблон области видимости Javascript?

У кого-нибудь есть чистые шаблоны для включения php-переменных в область видимости js?

Два способа, которые я делал раньше, это либо вводить фактический вызов из базового шаблона внутри готовой оболочки документа.

(шаблон jQuery/Smarty)

{literal}
$(document).ready(function() {
    TargetClass.targetVar = {/literal}{$phpVar}{literal};
});
{/literal}

Также установите его в тег и извлеките его из DOM после выполнения JS.

HTML

<link id="phpVar" value="{$phpVar}" />  

JS

var phpVar = $('#phpVar').attr('value');  

,

Кто-нибудь из вас нашел лучший метод?

1 ответ

Решение

Вы можете очень легко сгенерировать JSON из php. Это хороший способ получить целый массив (или даже дерево вложенных массивов) данных в javascript за один раз.

Вы можете положить его в <script> заголовок или получить его асинхронно с помощью AJAX.

Вот документы php:

http://us3.php.net/manual/en/ref.json.php

если вы вставите JSON непосредственно в код, то он уже в формате Javascript. Если вы получите его обратно из запроса ajax, это будет одна большая строка, и вы можете проанализировать ее, просто передав ее в eval()

Другие вопросы по тегам