django系列6--Ajax05 请求头ContentType, 使用Ajax上传文件
一.请求头ContentType
ContentType指的是请求体的编码类型,常见的类型共有三种:
1.application/x-www-form-urlencoded
这应该是最常见的 POST 提交数据的方式了。浏览器的原生 <form> 表单,如果不设置 enctype
属性,那么最终就会以 默认格式application/x-www-form-urlencoded 方式提交数据,ajax默认也是这个。请求类似于下面这样(无关的请求头在本文中都省略掉了):
POST http://www.example.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
user=robertx&age=22
这就是上面这种contenttype规定的数据格式,后端对应这个格式来解析获取数据,不论是get方法还是post方法,都是这样拼接数据,是公认的一种数据格式,但是如果contentType指定的是urlencoded类型,但是post请求体里面的数据是json的格式,那么就出错了,服务端没法解开数据。
2.multipart/form-data
使用表单上传文件时,必须让