什么';将变量值从服务器传输到javascript的最佳实践是什么?

什么';将变量值从服务器传输到javascript的最佳实践是什么?,javascript,browser,variables,Javascript,Browser,Variables,我正在用jQuery开发一个pet项目。现在,当加载页面时,应用程序需要将一些变量值传输到客户端javascript。我想知道做这件事的最佳做法是什么 我可以用两种方法来想象。首先,将其呈现为页面中的javascript变量 <script> <?php echo "var maxid = $maxid;"?> </script> 这意味着客户将看到 <script> var maxid = <somevar>; </scr

我正在用jQuery开发一个pet项目。现在,当加载页面时,应用程序需要将一些变量值传输到客户端javascript。我想知道做这件事的最佳做法是什么

我可以用两种方法来想象。首先,将其呈现为页面中的javascript变量

<script> <?php echo "var maxid = $maxid;"?> </script>

这意味着客户将看到

<script> var maxid = <somevar>; </script>
var maxid=;
其次,将其指定为一个元素的属性

<div maxid="<php echo $maxid >" />

哪种方法更好?还有其他方法吗?

--编辑:

很明显,你的“问题”是问一些与你的“代码”完全不同的问题。你需要澄清一下,我下面的帖子是关于这个“问题”的

--旧的:

我通常在ajax调用的页面中返回要呈现的完整HTML

这样做的原因是,我不必在JavaScript中复制布局逻辑,它通常只用于保持JavaScript的简单性,以及设置相关占位符的HTML/文本内容的形式


它是以传输更多数据为代价的,但对我来说,我很高兴能做出这样的权衡。

为了有效的html,我选择第一种方法,尽管只要它完成了任务,这并不重要

<script>
$(function() {
    var max_id = <?php echo $max_id;?>;
});
</script>

$(函数(){
var max_id=;
});

我会将其呈现为一个javascript变量(您的第一个选择)。这似乎是一种常见的方法。

我使用JSON字符串将值传递给客户端
看看这个例子,第一种方法更好,因为使用一个简单的变量将消耗更少的内存和CPU。按照DIV的方式,您将使用一个DOM元素和一个DOM节点搜索来读取值。

我很少只需要传递一个变量。。。我倾向于拥有一整套信息,在这种情况下,我使用:

var myAwesomeStuff = <?php echo json_encode($myArrayOfAwesomeInformation); ?>
var myAwesomeStuff=

没有到服务器的往返,正如前面提到的JSON。

JSON是一个选项,但这至少需要一次HTTP往返。我很长时间都在想这一点,很高兴你们和我有同样的想法。在一点性能和可读性之间进行权衡。