前端contentType數據傳輸格式與ajax技術

    前端數據格式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)
                }
            })
        
        
        })
相關文章
相關標籤/搜索