我想做的事情可能很简单(具有讽刺意味的是我被困住了)。
我有一个smarty分为(模板和php)文件的文件。 我有一个小的js脚本,它发送ajax请求来将变量更新为(php文件)。
在php文件中根据我从AJAX得到的东西
$smarty->assign('test',$_GET['test'])
然后
$smarty->display('index.tpl')
现在因为它是AJAX,我很困惑作为回复发送什么,因为我已经在显示模板。
答案 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');
}