我通过查询从数据库获取所有数据并转换为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页面以显示输出的大小写。
答案 0 :(得分:2)
根据您提供的信息,您可以通过两种方式执行此操作。
1)使用网页上的JavaScript(或JS库,如jQuery)从服务器获取JSON对象。此选项与您的问题最匹配,因为您的application/json
响应标头使用content-type
值。但是,您还需要使用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处理。