我通过查询从数据库中获取所有数据并将其转换为 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/