我遇到了一个关于如何将java脚本变量分配给smarty变量的问题。这是代码段。
function getDateInfo(date, wantsClassName)
{
var as_number = Calendar.dateToInt(date); //This as_number is the variable which should be assigned to smarty variable
}
我怎样才能做到这一点。
任何帮助将不胜感激..
非常感谢 - Fero
答案 0 :(得分:6)
您不能将客户端值分配给smarty变量,因为smarty是在服务器上运行的模板语言。 Smarty分配只能在服务器端完成,也就是说,从PHP完成。 E.g:
$smarty->assign('timestamp',time());
所以你能做的就是:
$smarty->assign('timestamp',time()); //in your PHP script
//in your JS
var currentTS = {$timestamp};
答案 1 :(得分:2)
对于任何带PHP的AJAX,我都会提出xajax库:
使用xajax,您注册一个PHP函数以暴露给客户端JS代码。通过魔术,如果你在JS中调用注册函数,xajax会使用参数打包请求并将其传递回服务器。
此外,您可以将更多内容从PHP代码更新到浏览器。在单个XHR回复中,将“替换元素X与......并将元素Y替换为...”之类的东西。
xajax使AJAX样式代码非常干净。