【问题标题】:Error while Uploading a file using FormData Ajax Django使用 FormData Ajax Django 上传文件时出错
【发布时间】:2020-11-08 08:34:14
【问题描述】:

我一直在尝试使用 Ajax 和 Django 加载多文件 HTML 输入,我知道 StackOverflow 中有很多与此问题相关的问题,但没有一种方法对我有用。我正在尝试使用单个网页。如果有任何建议,我将不胜感激:

HTML 代码:这段代码也是通过 ajax 的点击功能插入的,这就是为什么有很多 + 符号,所有内容都在引号内

+'<form id="reclamo" action="{% url "denuncia" %}" method="post" enctype="multiport/form-data">'
+'{% csrf_token %}'+'<label for="files">Adjuntos:</label>'+'<b>&nbsp;&nbsp;</b>'
+'<input type="file" id="files" name="files" multiple><br><br>'
+'<input type="submit" name="upload" value="Reportar">'
+"</form>"

而这个是Ajax代码:

$(document).on('submit','#reclamo',function(e) {
 e.preventDefault();
 var frm = new FormData($('#reclamo').get(0));
 $.ajax({
  url: "/denuncia/",
  type: "POST",
  data: frm,
  cache:false,
  proccessData: false,
  contentType: false,
  headers:{
      'X-CSRFToken':'{{csrf_token}}'
    },
  success: function(result){
      if (result == 'saved') {
        alert('ha sido creada con exito')
      }
      }
  });
})

我得到的错误是:

Uncaught TypeError: Illegal invocation
at e (jquery-3.1.1.min.js:4)
at xb (jquery-3.1.1.min.js:4)
at Function.r.param (jquery-3.1.1.min.js:4)
at Function.ajax (jquery-3.1.1.min.js:4)
at HTMLFormElement.<anonymous> ((index):226)
at HTMLDocument.dispatch (jquery-3.1.1.min.js:3)
at HTMLDocument.q.handle (jquery-3.1.1.min.js:3)

【问题讨论】:

  • 我认为问题出在构造函数 formData 上。 var frm = new FormData();

标签: python-3.x django ajax


【解决方案1】:

您的数据属性似乎拼写错误。不知道能不能解决,刚看到。尝试将其编辑为 formData。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 2014-06-02
    相关资源
    最近更新 更多