python - 如何将 json 对象发送到 webapp2 中的 html 页面?

标签 python json webapp2

我通过查询从数据库中获取所有数据并将其转换为 JSON 对象。此 JSON 对象数据需要显示在 html 页表上。

如何使用 webapp2 框架将 JSON 对象发送到 html 页面?

例如:

self.response.headers['Content-Type'] = 'application/json'   
        obj = {
        'success': 'some var', 
        'payload': 'some var'
              } 

self.response.out.write(obj) 即 json 对象需要发送到 html 页面以显示输出。

最佳答案

根据您提供的信息,您可以通过两种方式完成此操作。

1) 使用您网页中的 JavaScript(或 JS 库,例如 jQuery)从您的服务器获取 JSON 对象。此选项最符合您的问题,因为您正在为您的 content-type 响应 header 使用 application/json 值。但是,您还需要使用 json module 将 Python 字典序列化为与 JSON 兼容的字符串。像这样:

self.response.out.write(json.dumps(obj))

2) 将 JSON 对象作为可由 JavaScript 读取的变量呈现到您的网页中。这是与您提供的代码最不兼容的,因为您仍将呈现 HTML 页面,但其中一部分将包含与 JSON 兼容的字符串。它可能类似于以下内容:

self.response.headers['content-type'] = 'text/html'

response_body = """
<html>
<script>(function() {
  yourJsonParseFn("%s");
}())</script>
</html>
""" % json.dumps(obj)

self.response.out.write(response_body)

无论哪种方式,您最终都会向您的网页提供 JSON 对象以供 JavaScript 处理。

关于python - 如何将 json 对象发送到 webapp2 中的 html 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33229150/

相关文章:

python - 使用 PyInstaller 制作的 .app 会立即关闭吗?

java - 将json对象保存到手机中的文件中

javascript - 为什么 PHP 会忽略 JSON 中的空对象?

sql - 在 postgres json 字段中查询 json 键

google-app-engine - 在 webapp2.RequestHandler 的 post 方法中执行 if self.request.POST "not indexable"时得到 TypeError, ['file'

python - 了解 Python WSGI 应用程序中的全局对象持久性

python - 将多个测量值合并到 pandas 数据框中

python - 如何从 QComboBox 中的选项列表设置默认任务?

python - 用于 Snow Leopard(64 位)的漂亮 Python GUI 工具包

google-app-engine - ndb 模型与 WTForms 的兼容性