zoukankan      html  css  js  c++  java
  • Ajax上传文件

    在前端页面中写入

    <form> #用不用form没关系,这里就是个盒子的作用,一般写form标签是为了提示别人,这个地方的内容是要提交的
          {% csrf_token %}
          用户名 <input type="text" id="user">
          头像 <input type="file" id="avatar">
         <input type="button" id="ajax-submit" value="ajax-submit">
    </form>
    
    <script>
    
        $("#ajax-submit").click(function(){
            var formdata=new FormData(); #ajax上传文件的时候,需要这个类型,它会将添加给它的键值对加工成formdata的类型
            formdata.append("user",$("#user").val());  #添加键值的方法是append,注意写法,键和值之间是逗号
         formData.append("csrfmiddlewaretoken", $("[name='csrfmiddlewaretoken']").val()); #别忘了csrf_token
            formdata.append("avatar_img",$("#avatar")[0].files[0]);
            $.ajax({
    
                url:"",
                type:"post",
                data:formdata, #将添加好数据的formdata放到data这里
                processData: false ,    // 不处理数据
                contentType: false,    // 不设置内容类型
    
                success:function(data){
                    console.log(data)
                }
            })
    
        })
    
    </script>

    在视图中写入

    def index(request):
    
        if request.is_ajax():
    
            print(request.body)   # 原始的请求体数据
            print(request.GET)    # GET请求数据
            print(request.POST)   # POST请求数据
            print(request.FILES)  # 上传的文件数据
    
            return HttpResponse("ok")
    
    
        return render(request,"index.html")
  • 相关阅读:
    「SOL」开关(LOJ)
    「SOL」星际迷航(LOJ)
    「NOTE」概率生成函数
    「SOL」谢特(LOJ)
    「SOL」重建计划(BZOJ)
    「SOL」Tug of War(洛谷)
    「SOL」同余方程(LOJ)
    「SOL」Bad Cryptography(Codeforces)
    「SOL」小A与两位神仙(洛谷)
    「SOL」Social Distance(AtCoder)
  • 原文地址:https://www.cnblogs.com/wang-xing-hao/p/11924127.html
Copyright © 2011-2022 走看看