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")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM