后端无法解析 axios 发送的请求
- created: 2021-09-21 22:59
- published: 2021-09-21 22:59
- modified: 2024-12-24T19:09+08:00
- categories: frontend
- tags: bug
前端通过 axios.post(url, data)
发送的 data
参数如果是一个对象(JS Object)的话,
axios 会修改 ContentType 为 UTF-8。
if (utils.isObject(data)) {
setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
return JSON.stringify(data)
}
所以前端实际上发了个字符串到后端。
所以后端调用request.POST.get(key)
是得不到东西的,因为 request.POST
不是一个对象(字典),没有什么 key,value 的概念。
要将字符串重新转为对象,调用 json 包就行:
data = json.loads(request.body)
data.get('xxx')
这样就能获取到前端传递的对象了。
参考: