了解如何使用AJAX在php中使用smarty

时间:2010-12-15 23:38:42

标签: php javascript ajax smarty

我想做的事情可能很简单(具有讽刺意味的是我被困住了)。

我有一个smarty分为(模板和php)文件的文件。 我有一个小的js脚本,它发送ajax请求来将变量更新为(php文件)。

在php文件中根据我从AJAX得到的东西

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

然后

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

现在因为它是AJAX,我很困惑作为回复发送什么,因为我已经在显示模板。

2 个答案:

答案 0 :(得分:0)

这完全取决于您的应用程序将如何处理AJAX请求的响应。

理想情况下,您的客户端应用程序(在javacsript土地上)将期望来自您的Web服务(以JSON或其他格式)的数据,然后客户端应用程序将根据需要动态操作html(DOM)。

但是,您可能只想从AJAX请求中获取响应并将其放入html元素中。如果是这种情况,您只需以html格式发送回复即可。

答案 1 :(得分:0)

我不是Smarty大师,但是这个答案给出了如何在Smarty中使用Ajax的暗示 - 或许你可以在此基础上进行构建? 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');
}