前后端傳輸數據的編碼格式:
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對象
