2017-10-01 2 views
-1

J'ai une page qui récupère une réponse ajax. Cette réponse"dropzone n'est pas une fonction" dans la réponse ajax

  1. comprend une autre réponse ajax
  2. la dernière réponse a une dropzone qui est initialisée avec les éléments suivants

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

qui fonctionne bien la première fois.

La deuxième réponse (2.) se recharge lors de la publication dans un formulaire. Lorsque cela se produit, je reçois cette erreur de la console

Uncaught TypeError: $(...).dropzone is not a function

Je suppose que (et je devine purement maintenant) que dropzone est appelé à bientôt, mais comment puis-je résoudre ce problème?

+0

Comment la bibliothèque dropzone est-elle incluse sur la page? –

+0

Il est inclus dans l'en-tête à la première page, ci-dessous Jquery. – Thomas

+0

ici: http://historiska.xn--regrund-80a.se/?tomt=F.46:3 – Thomas

Répondre

0

Je pourrais avoir moi-même trouvé une solution.

D'abord, je me suis déplacé le code extérieur $ (document) .ajaxComplete (function())

En second lieu, en utilisant des indices trouvés sur DropzoneJS: How to get PHP response after upload success?, je réécrit le code à

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); 
       }); 
      } 
     }); 

Je Je ne sais pas vraiment pourquoi cela a fonctionné, mais cela pourrait aider quelqu'un d'autre.

+0

A travaillé pour moi merci – Tsea