【问题标题】:Creating new html in JS or ajax loading a html layout?在 JS 或 ajax 中创建新的 html 加载 html 布局?
【发布时间】:2009-08-25 10:52:10
【问题描述】:

我有一个页面,我需要在其中创建大量尚未出现在页面中的 HTML。

使用 jQuery,我一直在用 JS 逐个构建页面,在这里和那里添加 div 等等,直到我得到我的布局。

现在我正在考虑而不是在 JS 中做所有这些,我可以在单独的 HTML 文件中创建布局,然后使用 ajax 加载它。我最初对这个想法的反感是因为 ajax,它需要额外的服务器请求,并且最终可能会变慢(呃?)。

任何人都对这是否是一个好主意有任何建议,如果是,如果有教程,设置做这种事情的方法和模式。

谢谢。

【问题讨论】:

  • 好问题,我对答案很感兴趣
  • 你加载的是静态的html,还是动态的信息?
  • html本身是静态的,有动态信息,但是如果我用ajax加载,我不会把它包含在同一个文件中。

标签: javascript jquery html ajax


【解决方案1】:

再次往返服务器可能会影响速度。但是,我认为通过将所有 HTML 放在单独的模板中而不是与 JS 混合获得的可读性/可维护性是这里的一大胜利。您不必处理报价问题、实体编码等所有这些问题。而且您拥有的代码将更容易调试。

我不知道有任何关于这方面的具体教程,但是使用大多数 AJAX 库,很容易发出 XHR 请求并将响应通过管道传输到 DIV。例如,参见 Prototype 的 Ajax.Updater(container, url[, options]) 函数。 (http://www.prototypejs.org/api/ajax/updater)

【讨论】:

    【解决方案2】:

    你会遇到的问题不会变慢,但你的 URL 会有点乱。

    如果您从一个页面导航到另一个页面,您的 URL 将不会轻易更新。你可以做到,但工作量很大。

    我用post的回调函数来显示post中的数据,效果很好,速度很快。

    祝你好运!

    编辑:我说的是 jQuery 的 post 函数。

    第二次编辑:如果你们要投票给我,至少要说出原因...

    【讨论】:

      猜你喜欢
      • 2012-02-01
      • 2014-12-22
      • 2016-12-26
      • 1970-01-01
      • 2014-06-05
      • 2012-03-28
      • 2013-05-15
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多