Discuss / Python / 为什么注册时要把user转换为json后放进响应的body里面

为什么注册时要把user转换为json后放进响应的body里面

Topic source

反草

#1 Created at ... [Delete] [Delete and Lock User]
 r.body = json.dumps(user, ensure_ascii=False).encode('utf-8')

谁能告诉我为什么注册时要把user转换为json后放进响应的body里面,按道理说注册完就重新定位到首页了,body里是什么内容都没关系吧。比如,我把body内容改为了:

    r.content_type = 'text/plain;charset=utf-8'
    r.body = 'hahaha'.encode('utf-8')

然后点注册时,出现如下错误:

网络好像出问题了 (HTTP 200)

```

反草

#2 Created at ... [Delete] [Delete and Lock User]

后来发现是格式的问题: 'application/json;charset=utf-8' 为什么一定要是这个格式?

灰_手

#3 Created at ... [Delete] [Delete and Lock User]

这是告诉浏览器你返回的响应是json的数据,而且是utf-8编码的数据,其实aiohttp并不推荐用这种方式生成json响应,更加贴切的代码应该是`web.json_response({'user': user.name}),虽然回传值不是必需的,不过可以方便测试


  • 1

Reply