将参数映射(值列表)传递给JQuery

时间:2010-06-05 05:47:00

标签: javascript jquery grails

初始化一个加载javascript的网格,我需要从controller / gsp传递一个值列表。由于javascript在呈现/加载页面时被激活,因此可能没有直接的方法来执行它。 2种可能性 1.执行ajax调用,并从服务器检索值列表 2.将列表存储在html中作为隐藏元素,并从javascript中读取。

选项2看起来更好,因为它避免了很少的回调到服务器。那么,我应该将哪个控件用于值列表?任何jQuery代码片段,将其读回数组/列表。

提前感谢。

2 个答案:

答案 0 :(得分:1)

这取决于该数据的大小。它足够小,你可以把它嵌入页面。例如,要使用事件填充日历,我使用了以下内容:

<div id="calendar" data-events="[/* event list */]"></div>
data-events属性包含JSON格式的JavaScript事件对象数组)

但是,如果您正在谈论大量数据,在页面加载后(或文档准备好时)异步加载(可能是块),可以提高应用程序的性能并使其更具交互性(即I如果我要做的下一件事就是离开那么,我不想等待并加载那些数据。

这会回答你的问题吗?

答案 1 :(得分:1)

您可以直接从服务器端编写JavaScript。我不知道grails,但这是php中一个非常简单的例子:

<script type="text/javascript">
    var someVar = "<?php echo $someServerVar;?>";
</script>

当然,这个例子很简单,但你明白了。大多数语言都会有一些函数逃脱JavaScript字符串(基本上将"转换为\",将新行转换为\n)。

如果您在<head>的顶部放置这样的脚本,则可以从页面上的所有其他脚本访问这些变量。