PHP范围 - > Javascript范围模式?

时间:2009-09-09 22:52:55

标签: php javascript scope

任何人都有任何干净的模式来获取php变量到js范围?

我之前完成它的两种方法是从文档就绪包装器中的基本模板中注入实际调用。

(jQuery / Smarty Template)

{literal}
$(document).ready(function() {
    TargetClass.targetVar = {/literal}{$phpVar}{literal};
});
{/literal}

一旦JS执行,也将其设置为标记并从DOM中提取它。

HTML

<link id="phpVar" value="{$phpVar}" />  

JS

var phpVar = $('#phpVar').attr('value');  

你们有没有找到更好的方法?

1 个答案:

答案 0 :(得分:3)

您可以从php轻松生成JSON。这是一个很好的方法,可以一次性将整个数组(甚至是嵌套数组树)的数据转换为javascript。

您可以将其放在<script>标头中,或者使用ajax获取异步。

这是php文档:

http://us3.php.net/manual/en/ref.json.php

如果你将json直接放入代码中,那么它已经是javascript格式了。如果从ajax请求中获取它,它将是一个大字符串,您可以通过简单地将其传递给eval()来解析它