我正在用jQuery开发一个宠物项目。现在应用程序需要在加载页面时将一些变量值传送到客户端javascript。我想知道做这件事的最佳做法是什么。
我可以通过两种方式进行图像处理。首先,将其渲染为页面中的javascript变量。
<script> <?php echo "var maxid = $maxid;"?> </script>
这意味着客户将看到
<script> var maxid = <somevar>; </script>
其次,将其指定为一个元素的属性。
<div maxid="<php echo $maxid >" />
哪种方法更好?还有其他办法吗?
答案 0 :(得分:7)
为了有效的html,我会选择第一种方法,但只要完成工作就无所谓。
<script>
$(function() {
var max_id = <?php echo $max_id;?>;
});
</script>
答案 1 :(得分:3)
我使用JSON字符串将值传递给客户端 看一下这个例子http://blog.reindel.com/2007/10/02/parse-json-with-jquery-and-javascript/
答案 2 :(得分:1)
我很少只传递一个变量...我倾向于拥有一整套信息,在这种情况下我使用:
var myAwesomeStuff = <?php echo json_encode($myArrayOfAwesomeInformation); ?>
没有前往服务器,如前面提到的JSON。
答案 3 :(得分:0)
- 编辑:
就是这样,很清楚,你的“问题”是要求与你的“代码”完全不同的东西。你需要澄清一下,我的帖子下面谈到了“问题”。
- 旧:
我通常会在ajax调用的页面中返回要呈现的完整HTML。
这样做的原因是我不必在JavaScript中复制布局逻辑,并且它最终通常对于保持JavaScript微不足道以及设置相关占位符的HTML /文本内容的形式非常有用。 / p>
这是以转移更多数据为代价的,但对我来说,我很乐意做出这种权衡。
答案 4 :(得分:0)
我会把它渲染成一个javascript变量(你的第一个选择)。这似乎是一种常见的方法。
答案 5 :(得分:0)
第一种方法更好,因为您将使用简单的变量消耗更少的内存和CPU。使用DIV方式,您将使用DOM元素和DOM节点搜索来读取值。