Понимать, как использовать AJAX для работы с smarty в php - PullRequest
3 голосов
/ 16 декабря 2010

То, что я пытаюсь сделать, возможно, очень просто (ирония в том, что я застрял).

У меня есть файл, который smarty делит на (template и php) файл. У меня есть небольшой js-скрипт, который отправляет ajax-запрос на обновление переменной (файл php).

В php-файле, основанном на том, что я получаю от AJAX, который я делаю

$smarty->assign('test',$_GET['test'])

, а затем

$smarty->display('index.tpl')

Теперь, поскольку это AJAX, я запутался, что посылать в качестве ответа, поскольку я уже отображаю шаблон.

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

Я не Smarty гуру, однако этот ответ дает подсказку о том, как использовать Ajax со Smarty - возможно, вы можете основываться на этом?https://stackoverflow.com/questions/630714/smarty-the-best-choice/632458#632458

Похоже, вместо звонка $smarty->display() вы должны позвонить echo $smarty->fetch()

if($request->isXmlHttpRequest()) {
    echo $smarty->fetch('your-file.tpl');
}
0 голосов
/ 16 декабря 2010

Все зависит от того, что ваше приложение будет делать с ответом на запрос AJAX.

В идеале ваше клиентское приложение (на земле javacsript) будет ожидать данные от вашего веб-сервиса (в JSON или другом формате), а затем клиентское приложение будет динамически манипулировать HTML (DOM).при необходимости.

Однако, возможно, вы просто захотите взять ответ от запроса AJAX и выбросить его в элемент html.Если это так, вы можете просто отправить свой ответ в формате HTML.

...