一尘不染

Dropzone-未捕获的错误:未提供URL

ajax

使用Dropzonejs上传文件后,我不知道如何获取JSONresponse。

我只有这个:

<script src="{% static "dropzone/dropzone.js" %}"></script>

<form id="id_dropzone" class="dropzone" action="/ajax_file_upload_handler/"
              enctype="multipart/form-data" method="post"></form>

我认为如果不手动初始化dropzone是不可能的,所以我将其更改为:

$("#id_dropzone").dropzone({
                maxFiles: 2000,
                url: "/ajax_file_upload_handler/",
                success: function (file, response) {
                    console.log(response);
                }
            });


<form id="id_dropzone" class="" action=""
              enctype="multipart/form-data" method="post"></form>

哪个返回 Uncaught Error: No URL provided.

如何初始化dropzone,以便添加诸如maxFiles,maxSize之类的选项并获取 JSON 响应?


阅读 659

收藏
2020-07-26

共1个答案

一尘不染

将Dropzone附加到对象而没有以下任何情况时,不会提供URL:

  • 告诉dropzone在何处发布的表单上的action属性
  • 特定Dropzone的配置

我敢打赌,您有一个竞争条件,在配置元素之前,Dropzone会将自己附加到元素上。确保您的配置是在JS导入之后直接进行的,或者是您Dropzone.autoDiscover = false;明确设置和实例化了Dropzone。

这里查看更多信息。

<script src="{% static "dropzone/dropzone.js" %}"></script>

<script type="text/javascript">

   Dropzone.autoDiscover = false;

   $(document).ready(function () {
        $("#id_dropzone").dropzone({
            maxFiles: 2000,
            url: "/ajax_file_upload_handler/",
            success: function (file, response) {
                console.log(response);
            }
        });
   })

</script>

<form id="id_dropzone" 
      class="dropzone" 
      action="/ajax_file_upload_handler/"
      enctype="multipart/form-data" 
      method="post">
</form>
2020-07-26