第一种:将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' %}", 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>