第一种: 将 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>
来源: http://www.bubuko.com/infodetail-3366445.html