Эхо переменная javascript в smarty - PullRequest
0 голосов
/ 08 января 2011

Я установил одну переменную в java-скрипте. И я хочу повторить эту переменную в smarty.

Возможно ли это?

Если да, то, пожалуйста, дайте мне руководство.

Ура !!!

Ответы [ 2 ]

2 голосов
/ 08 января 2011

Вообще говоря (т. Е. Если вы не делаете что-то эзотерическое, например, смешиваете SSJS и PHP), вы не можете.

PHP запускается (обрабатывает шаблон Smarty), затем доставляет вывод в браузер, и затем запускает JavaScript, но в какое время уже слишком поздно возвращать какие-либо данные.

Вы можете использовать JavaScript, чтобы определить, какие данные вам нужны, а затем сделать новый запрос к серверу. например установив location на новый URI или используя XMLHttpRequest для получения новых данных с сервера, а затем используйте их для изменения документа с помощью JS. Однако, поскольку вы смотрите на уровень Smarty, вполне вероятно, что вы хотите получить данные только для форматирования, и в этом случае вам следует просто сделать это в JS (с манипулированием DOM).

1 голос
/ 08 января 2011

Вы можете использовать запрос AJAX , чтобы отправить его на сервер, где вы можете использовать Smarty для рендеринга нового HTML (не знаю деталей этого), а затем вернуть HTML в ответе AJAX. Затем вы можете ввести это с помощью innerHTML или аналогичным.

Вы можете посмотреть на объект XMLHttpRequest . Однако различные JavaScript-фреймворки могут значительно упростить это.

...