1. 程式人生 > 程式設計 >django ajax傳送post請求的兩種方法

django ajax傳送post請求的兩種方法

django ajax傳送post請求的兩種方法,具體內容如下所述:

第一種:將csrf_token放在from表單裡

 <script>
    function add_competion_goods() {
      $.ajax({
        url: "{% url 'add_competition_goods' %}",type: "POST",dataType: "json",data: $('#add_competition_goods_from').serialize(),//直接將from表單打包
        success: function () {
          $('#add_competition_modal').modal('hide');
          alert('secces')
        }
      })
    }
  </script>

第二種:傳送前新增頭部資訊

<script>
    function submit_read_save_order_data() {
      var excel_file = document.getElementById("order_excel").files;
      var excel_file_size = excel_file[0]['size'];
      console.log(excel_file_size);
      if (excel_file_size > 0 & excel_file_size < 60000000) {
        alert("已開始上傳");
        $('button#upload_data').attr('disabled','disabled');
        {#console.log(excel_file_size);#}
        var fd = new FormData();
        fd.append('excels',excel_file[0]);
        $.ajax({
            url: "{%url 'read_save_order_data' %}",data: fd,processData: false,// tell jQuery not to process the data
            contentType: false,// tell jQuery not to set contentType
            beforeSend: function (xhr,setting) {
              xhr.setRequestHeader("X-CSRFToken","{{ csrf_token }}")
            },success: function (msg) {
              alert(msg)
            },error: function (msg) {
              alert(msg)
             }
          }
        )
      } else {
        alert("檔案為空,或大小超出60M,請檢查")
      }
    }
  </script>

總結

以上所述是小編給大家介紹的django ajax傳送post請求的兩種方法,希望對大家有所幫助!