【问题标题】:generated HTML vs JSON, Google Apps Script生成的 HTML 与 JSON,Google Apps 脚本
【发布时间】:2017-11-17 10:17:08
【问题描述】:

我在 Google Apps Script 中有一个网络应用程序,我从 Google 表格中获取餐厅数据(名称、地址、电话等)列表,并通过 AJAX 将它们显示到我的网站。目前,结果数据是从 Google Apps 脚本创建的 HTML,我在想是否有任何方法可以更快地加载列表。然后我想到了 JSON,但我研究了一下,发现加载时间差别不大。这是为工作表中的每个行数据呈现的 HTML 代码,

  for (var i=0; i<rng.length; i++)
  {
    if (rng[i][0] != "") {
      html += '<br><div class="row">
                  <div class="col s4">
                      <img class="circle responsive-img" src="img/logos/'+rng[i][0]+'.png" />
                  </div>
                  <div class="col s8">
                      <h5>'+rng[i][1]+'</h5>
                      <p><b>'+rng[i][2]+'</b></p>
                      <p>'+rng[i][3]+'</p>
                      <a class="waves-effect waves-light btn btn-sm red lighten-2" href="menu.html?id='+rng[i][0]+'">See Menu</a>
                  </div>
              </div><hr><br>';
    }
  }

因此,对于每一行数据,它都会创建 HTML 代码的那一部分,并在我的网站中返回整个 HTML,我通过 jQuery AJAX 获取它。现在,我的问题是,上述方法更好还是应该使用 JSON 仅获取原始数据并通过客户端呈现?

【问题讨论】:

    标签: javascript jquery json ajax google-apps-script


    【解决方案1】:

    发送准备好的 HTML 应该可以加快网站的渲染速度,尤其是在客户端的 CPU 功耗较低的情况下。但是,除了 HTML 与 JSON 之外,延迟很可能是由于 Google Apps 脚本执行速度较慢。每次调用doGet 时不应该发生所有字符串连接,这是浪费时间。每次编辑电子表格时处理一次数据(使用trigger),并将输出(无论是 HTML 还是 JSON)存储在电子表格的单独工作表中,或存储在 Script Cache 中。这样doGet 将只需要检索一个字符串并立即提供它。

    【讨论】:

    • 感谢您的建议。工作表将被编辑一次。我只需要尽快将数据显示在我的应用程序中。如果我透露更多,那么该应用程序就是一个 phonegap 应用程序。那我该怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 2017-10-31
    相关资源
    最近更新 更多