" dropzone不是一个功能"在ajax回复中

时间:2017-10-01 11:52:32

标签: jquery ajax dropzone.js

我有一个获取ajax响应的页面。 那个回应

  1. 包含另一个ajax回复
  2. 最后一个响应有一个dropzone,使用以下
  3. 进行初始化

    $(document).ready(function() {
        $("#uploadme").dropzone({
            paramName: 'photos',
            url: 'upload.php',
            dictDefaultMessage: "drop here",
            clickable: true,
            enqueueForUpload: true,
            maxFilesize: 1,
            uploadMultiple: false,
            addRemoveLinks: true
        });
    });
    

    第一次运作良好。

    第二个响应(2.)在表单中发布时重新加载。发生这种情况时,我在控制台中收到此错误

      

    未捕获TypeError:$(...)。dropzone不是函数

    我猜(我现在纯粹在猜测)很快就会调用dropzone,但我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我可能自己找到了解决方案。

首先,我将代码移到了$(文档).ajaxComplete(function())

之外

其次,使用在DropzoneJS: How to get PHP response after upload success?上找到的线索,我将代码重写为

   new Dropzone("#uploadme", { 
               maxFilesize: 2, // MB
               dictDefaultMessage: "Dra bilder hit om du vill inkludera dom i din kommentar",
            url: 'upload.php',
            init: function() {
                this.on("success", function(file, responseText) {
                    console.log(responseText);
                });
            }
        });

我不太确定它为什么会起作用,但它可能对其他人有帮助。