为了将动态值传递给js代码,这样做更好吗?将动态参数传递给js代码 - 哪个更好?
var myVar = '<?php echo addslashes($_SESSION['myVar']); ?>';
或者在运行时进行AJAX调用以获取会话变量并将其分配给myVar?
有什么优点和缺点?
我个人比较喜欢AJAX方法。它使代码看起来更好,以防复杂的阵列分配等。
想获得专家意见。
更新
据我所知,使用AJAX方法,每个HTTP请求数。但是,如果我们在JavaScript文件内部有完善定义的函数,那么我们只需要有可用的函数参数。只要我们想调用这些参数,就可以在函数调用中传递这些参数,例如,像这样: -
<a onclick="some_function('<?php echo $_SESSION['var'] ?>')">
这是我通常做的,在我的项目中,我很少需要在JavaScript文件中将它们内联传递。我有AJAX呼叫做服务器端处理(当然,当它需要)。
我在这里的基本想法是有内联js脚本单独的js文件intead。我在看this question。我肯定不会为获取每个变量而进行AJAX调用(因为它可能看起来像我的问题),因为这种情况不会出现。
谢谢。
我其实并不是想要做一个AJAX请求来获取每个服务器端的变量,以便在javascript中使用。请检查我的更新。 – 2010-11-20 09:57:44
@sandeepan我看到你有关于单独的JS脚本的观点,这很有道理 - 它是最干净的方式。我个人可能仍然倾向于将动态位放入文档的'
'中,但我会说这两种方法都是正确的 – 2010-11-20 10:04:13您是指文档头中的js代码中的动态位?但在你的情况下这是不可避免的?你是否接受你没有遵循最清洁的方式? :) – 2010-11-20 10:09:21