代码之家  ›  专栏  ›  技术社区  ›  bsr

将参数映射(值列表)传递到jquery

  •  0
  • bsr  · 技术社区  · 15 年前

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

    选项2似乎更好,因为它避免了对服务器的少量调用。那么,我应该使用哪个控件作为值列表呢?任何jquery代码片段,用于将其读回到数组/列表中。

    事先谢谢。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Oblio    15 年前

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

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

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

    那能回答你的问题吗?

        2
  •  1
  •   Felix    15 年前

    您可以直接从服务器端编写JavaScript。我不知道Grails,但这里有一个非常简单的PHP示例:

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

    当然,这个例子很简单,但是你明白了。大多数语言都会有某种函数来逃避javascript字符串(基本上是 " 进入之内 \" 和新的线路 \n )

    如果你把这样的脚本放在 <head> ,然后可以从页面上的所有其他脚本访问这些变量。