前端數據格式contentType參數 先後端傳輸數據的編碼格式 1.urlencoded(form表單與ajax默認的數據提交編碼格式) 數據格式 name='jason'&password='123' django後端識別到urlencoded數據格式將其處理封裝到了request.POST 2.formdata 傳輸文件 支持傳普通鍵值對也能夠傳文件 普通鍵值仍是處理放到request.POST中 文件數據處理放到request.FILES中 3.application/json(ajax支持) JSON.stringify({'name':'jason'}) django後端對於json格式的數據不作任何處理,就將原生的二進制數據存在request.body中,讓你本身手動處理 先解碼再反序列化 局部刷新之ajax 異步提交(github註冊示例) 局部刷新 四個基本參數 url:'', # 控制數據提交的地址,不寫默認往當前位置提交 type:'get', # 控制的是數據的提交方式 get,post,。。。 data:{'name':'jason'} # 提交的數據 success:function(data){ # 作局部刷新的操做 alert(data) } $('#b1').click(function(){ $.ajax({ url:'', # 控制數據提交的地址,不寫默認往當前位置提交 type:'get', # 控制的是數據的提交方式 get,post,。。。 contentType:'application/json', data:JSON.stringify({'name':'jason'}), # 提交的數據 success:function(data){ # 作局部刷新的操做 alert(data) } }) }) ajax發送文件 1.利用一個js內置對象FormData 2.這個FormData便可以傳普通的鍵值也能夠傳文件 3.須要修改兩個默認參數processData,contentType 4.獲取input框存儲的文件數據$('input[type="file"]')[0].files[0] $('#b1').click(function(){ # 先生成一個內置對象 var formdata = new FormData(); formdata.append('鍵','值'); formdata.append('myfile',$('input[type="file"]')[0].files[0]); $.ajax({ url:'', # 控制數據提交的地址,不寫默認往當前位置提交 type:'get', # 控制的是數據的提交方式 get,post,。。。 contentType:false, processData:false, data:JSON.stringify({'name':'jason'}), # 提交的數據 success:function(data){ # 作局部刷新的操做 alert(data) } }) })