前置知识
ajax形式post提交数据的content-type有主要常用三种
- application/x-www-form-urlencoded
- multipart/form-data(上传文件)
- application/json
原生的django对于content-type为application/x-www-form-urlencoded
的ajax请求,且data经过urlencoded编码,其数据是放在request.POST(request.body中也会有数据,但是格式得自己重新反序列化)中的。,data若无编码直接上传,会放在request.body中,而request.POST中是错误格式的数据。
对于multipart/form-data
,数据是放在request.FILES中的
而对于最常用的 application/json 数据是放在request.body中的,是无法在request.POST中获取的。
axios默认content-type为 application/json
所以如果你像如下方式使用axios与django通信
axios({
url:url,