【问题标题】:Accessing data from Google App Engine datastore in a javascript file在 javascript 文件中访问来自 Google App Engine 数据存储区的数据
【发布时间】:2013-02-22 03:42:05
【问题描述】:

从 Google App Engine 数据存储区访问 javascript 文件中的信息有哪些选项?

背景:

我正在使用 Google 图表工具 API 的 Google App Engine 上运行一个应用程序。我想绘制的所有数据都在我的 Google App Engine 数据存储中。

我的尝试

我可以访问我的 python 脚本中的数据。此外,在 python 脚本中,我将数据编码为 JSON。我的想法是将其保存在一个 js 文件中,我可以将其导入 HTML,然后在那里构建图表。但是,这不起作用,因为 App Engine 不支持写入本地文件。

【问题讨论】:

  • 频道 api 不是选项/适用吗?我的第一个想法:将数据发送到 memcache 并使用通道和 python 处理程序将 json 发送到客户端 JS ......但这只是你的第一个想法。
  • 似乎通道 api 是一个选项,但对于我正在做的事情可能有点过分了。通道 api 为立即更新信息创建了一个持久连接,因为我的应用程序不需要向用户发送此类更新。

标签: javascript google-app-engine google-cloud-datastore


【解决方案1】:

在 App Engine 上,您通常会生成一个提供给客户端的 HTML 页面。您不需要将 JSON 保存到 js 文件中,您可以将其作为文本直接嵌入到您的 HTML 页面中,然后提供给您的客户。

【讨论】:

    【解决方案2】:

    您可以使用 Jersey 之类的工具为后端创建 REST api。这有点工作。您还可以使用 appengine 项目制作 GWT 应用程序,该项目具有非常简单的后端连接。然后,您可以将其与您的 javascript 应用程序连接起来,或者拥有您的 javascript 应用程序可以使用的钩子。

    【讨论】:

      【解决方案3】:

      XMLHttpRequest

      从 python 文件:将 JSON 数据写入 URL。 在 App Engine 中,这是通过

      self.response.write(data)
      

      从 Javascript 发出 XHR 请求,如下所示:

      function getData() {
          var dataObject = new XMLHttpRequest();
          dataObject.open('GET', 'URL', true);
          dataObject.send();
          return dataObject;
      }
      

      这将返回一个 XMLHttpRequest 对象,其数据在 response 或 responseText 属性中的字符串中。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多