前后端传输数据的编码格式

前后端传输数据的编码格式:

1. urlencoded  【请求头RequestHeader中默认:Content-Type:application/x-www-form-urlencoded】

2. formdata   

3. application/json

django后台request.POST只能解析urlencoded、formdata数据格式的数据【或者说只要是什么等于什么&什么等于什么:username=admin&pwd=000,djagno就会放入POST中】

如果是json格式,原生django是不会处理的,需要自己从body中取出来自行处理。

request.data:

drf框架主要就是json格式交互,request.data 不管前端传数据的编码格式是urlencoded, formdata或者json都从里面取

 

request.query_params

是原来django原生的GET中的数据,请求地址中问号后的数据

request.

form表单默认的编码格式是urlencoded不支持发文件(只能把文件名发过去)

它所对应数据格式 username=jason&password=123

formdata django会帮你把文件数据取出来 放入request.FILES里面 专门用来传文件的

Ajax默认提交的编码格式也是urlencoded


当用ajax传输json格式的数据时候 django不会做任何处理
数据以二进制形式放在request.body中 你可以手动解码加反序列化拿到对应的字典格式数据

ajax发送文件 利用js内置的FormData对象

原文地址:https://www.cnblogs.com/qingqinxu/p/11348585.html