在Smarty模板中的javascript函数中使用PHP变量

时间:2013-04-30 20:17:08

标签: javascript php smarty

在我的HTML文件中,我使用的是一个名为{$var}的字符串变量,该变量是从PHP文件传递的。如何在同一个html文件中的javascript函数中使用{$var}?我想使用js函数显示这个变量。这就是我到目前为止所做的:

<span id="printHere"></span>
<script type="text/javascript">
    var php_var = {$production};
    $('#printHere').html(php_var);
</script>

2 个答案:

答案 0 :(得分:7)

对于PHP

您可以将变量直接回显到JavaScript中。请务必json_encode()以便数据类型和转义全部自动完成。

var php_var = <?php echo json_encode($production) ?>;

For Smarty

如果您正在使用Smarty作为模板引擎,那么您需要这样做:

var php_var = {$production|json_encode nofilter};

这样做是禁用Smarty的HTML转义(使用nofilter)并将值传递给json_encode()

答案 1 :(得分:1)

确保已设置$production。如果是(javascript)String,请使用:

var php_var = '<?php echo addslashes($production); ?>';

如果是Number,请使用

var php_var = <?php echo $production; ?>;