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

时间:2015-10-20 06:04:47

标签: 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 个答案:

答案 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处理。