使用ajax上传文件时候403解决策略:(本篇基于django框架)

html代码:

<form>
      {% csrf_token %}
      ...
</form>

js代码:

引入jquery和jquery.cookie两个文件

<script src="{% static 'js/jquery.js' %}"></script>
<script src="{% static 'js/jquery.cookie.js' %}"></script>
var file = $('#report-upload-pdf')[0].files[0];
var csrf = $('input[name=csrfmiddlewaretoken]').val();
var pdfFormData = new FormData();

pdfFormData.append('file', file);
pdfFormData.append('csrfmiddlewaretoken', csrf);

$.ajax({
    url: '{% url "admin-upload-pdf" %}',
    method: 'post',
    data: pdfFormData,
    processData: false, // 不处理数据( 必须有)
    contentType: false,  //不设置内容类型 ( 必须要)
    header: {
        'X-CSRFToken': $.cookie('csrftoken'),
    },
    success: function (r) {
        alert('成功')
    }
})

 欢迎关注wx公众号:python web小栈,共同探讨学习

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐