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

jquery-在多个函数中使用post/ajax结果

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

    简而言之:使用jquery,我希望得到一些XML输出,并将其与自定义网格插件一起使用。我的问题是如何有效地将我需要的数据输入插件。

    该插件需要获取返回节点和行本身的计数。目前,我做了两个单独的调用来获取XML,一个获取XML并计算节点数,然后将该数字返回给插件,另一个获取XML并对数据本身进行排序,然后将其传递给插件进行格式化和显示。

    因此插件设置如下所示:

    $("someID").thePlugin({count:countFunction, rows:loadRowsFunction});
    

    其中,CountFunction获取XML文件并对节点进行计数,LoadRowFunction还获取XML文件并加载数据。我想获取一次XML文件。最好的方法是什么?

    1 回复  |  直到 15 年前
        1
  •  4
  •   zombat    15 年前

    合理的选择是将功能分开。这符合“干”(不要重复自己)编码原则。

    移除Count函数和LoadRows函数的XML提取部分,并将其放入自己的函数中,例如xmlFetch()。

    现在,使xmlFetch()具有缓存机制。默认情况下,它在第一次调用时获取内容,并将其存储在内存中。如果另一个请求到达xmlFetch(),它只返回已经提取的数据。如果要重新获取数据,可以使其可选地重写缓存机制。

    现在,您的count函数和loadRows函数都可以调用xmlFetch(),它只会获取一次结果,除非特别要求重新获取。