我在java-script中设置了一个变量。我想在smarty中回应这个变量。
有可能吗?
如果是,那么请给我一些指导。
干杯!!!
答案 0 :(得分:2)
一般来说(即除非你做了一些深奥的东西,比如混合SSJS和PHP)你不能。
PHP运行(处理Smarty模板),然后将输出传递给浏览器,然后然后运行JavaScript,但是哪一次得到任何数据都为时已晚。
您可以使用JavaScript来计算出您想要的数据,然后向服务器发出新请求。例如通过将location
设置为新的URI或使用XMLHttpRequest从服务器获取新数据,然后使用它来使用JS修改文档。但是,由于您正在查看Smarty级别,因此您可能只想要格式化数据,在这种情况下,您应该只使用JS(使用DOM操作)。
答案 1 :(得分:1)
您可以使用AJAX请求将其发送到服务器,您可以在其中使用Smarty呈现新的HTML(不知道其详细信息),然后在AJAX响应中返回HTML。然后,您可以使用innerHTML
或类似内容注入此内容。
您可以查看XMLHttpRequest对象。但是,各种JavaScript框架可以大大简化这一点。