Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript变量分配给smarty变量_Javascript_Smarty - Fatal编程技术网

如何将javascript变量分配给smarty变量

如何将javascript变量分配给smarty变量,javascript,smarty,Javascript,Smarty,关于如何将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 } 我怎样才能做到这一点 任何帮助

关于如何将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    
}
我怎样才能做到这一点

任何帮助都将不胜感激


感谢n advance-Fero

您不能将客户端值分配给smarty变量,因为smarty是在服务器上运行的模板语言。Smarty分配只能在服务器端完成,也就是说,可以从PHP完成。例如:

$smarty->assign('timestamp',time());
所以你能做的是:

    $smarty->assign('timestamp',time()); //in your PHP script

    //in your JS
    var currentTS = {$timestamp};

请参见

有关AJAX与PHP的任何内容,我建议使用xajax库:

使用xajax,注册一个PHP函数,以向客户端JS代码公开。神奇的是,如果您在JS中调用注册函数,xajax会用参数打包请求并将其传递回服务器

此外,您可以将PHP代码中的更新推送到浏览器。类似于“将元素X替换为…”。。。并在单个XHR回复中将元素Y替换为


xajax使AJAX风格的代码非常简洁。

感谢您的回复。但是,是否有其他方法获取java脚本变量的值并将其分配给smarty。此代码不适用于数组变量。是否需要对数组变量进行任何修改-@卡里姆79