Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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
PHP范围->;Javascript作用域模式?_Php_Javascript_Scope - Fatal编程技术网

PHP范围->;Javascript作用域模式?

PHP范围->;Javascript作用域模式?,php,javascript,scope,Php,Javascript,Scope,有没有人有任何干净的模式可以让php变量进入js范围 我以前做过两种方法,一种是将来自基本模板的实际调用注入到文档就绪包装器中 (jQuery/Smarty模板) 还将其设置为标记,并在JS执行后从DOM中提取该标记 HTML 有谁找到了更好的方法吗?您可以很容易地从php生成JSON。这是一种很好的方法,可以一次性将整个数组(甚至是嵌套数组的树)的数据转换成javascript 您可以将它放在头中,或者使用ajax异步获取它 以下是php文档: 如果将json直接放入代码中,那么它已经是j

有没有人有任何干净的模式可以让php变量进入js范围

我以前做过两种方法,一种是将来自基本模板的实际调用注入到文档就绪包装器中

(jQuery/Smarty模板)

还将其设置为标记,并在JS执行后从DOM中提取该标记

HTML


有谁找到了更好的方法吗?

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

您可以将它放在
头中,或者使用ajax异步获取它

以下是php文档:


如果将json直接放入代码中,那么它已经是javascript格式了。如果您从ajax请求中得到它,它将是一个大字符串,您只需将它传递给eval()即可解析它。

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

您可以将它放在
头中,或者使用ajax异步获取它

以下是php文档:


如果将json直接放入代码中,那么它已经是javascript格式了。如果您从ajax请求中获取它,它将是一个大字符串,您只需将它传递给eval(),即可解析它。

嗯,是的,很有趣。实际上,我从来没有必要将那么多数据推送到JS范围中,所以我从来没有想过在模板中使用JSON。其实是个好主意。清洁工谢谢。哦,你也可以去掉那些document.ready的东西,只需设置一个js全局。在解析js之前就已经得到了该值,因此无需等待任何事情,就可以进行设置。简单地说:var fromphp=$js_val(其中$js_val由PHP扩展)嗯,是的,很有趣。实际上,我从来没有必要将那么多数据推送到JS范围中,所以我从来没有想过在模板中使用JSON。其实是个好主意。清洁工谢谢。哦,你也可以去掉那些document.ready的东西,只需设置一个js全局。在解析js之前就已经得到了该值,因此无需等待任何事情,就可以进行设置。简单地说:var fromphp=$js_val(其中$js_val由PHP扩展)
{literal}
$(document).ready(function() {
    TargetClass.targetVar = {/literal}{$phpVar}{literal};
});
{/literal}
<link id="phpVar" value="{$phpVar}" />  
var phpVar = $('#phpVar').attr('value');