django ajax发送post请求的两种方法

时间:2022-09-09 20:48:32

django ajax发送post请求的两种方法,具体内容如下所述:

第一种:将csrf_token放在from表单里

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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>

   第二种:发送前添加头部信息

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<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' %}",
            type: "POST",
            dataType: "json",
            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请求的两种方法,希望对大家有所帮助!

原文链接:https://www.cnblogs.com/xshan/archive/2020/01/05/12151606.html