zoukankan      html  css  js  c++  java
  • 前端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)
                    }
                })
            
            
            })
  • 相关阅读:
    模板
    2019牛客暑期多校训练营(第五场)
    Codeforces
    Codeforces
    SCUT
    模板
    Codeforces
    2019 Multi-University Training Contest 4
    Codeforces
    Codeforces
  • 原文地址:https://www.cnblogs.com/dongxixi/p/11042888.html
Copyright © 2011-2022 走看看