web-dev-qa-db-fra.com

Dropzone - Erreur non interceptée: aucune URL fournie

Je ne peux pas comprendre comment obtenir JSONresponse après avoir téléchargé un fichier à l'aide de Dropzonejs.

J'ai juste ceci:

<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>

Je pense que ce n'est pas possible sans initialiser manuellement la zone de dépôt, je l'ai donc changé en:

$("#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>

Quel retour Uncaught Error: No URL provided.

Comment puis-je initialiser la zone de dépôt pour pouvoir ajouter des options comme maxFiles, maxSize et obtenir JSON réponse?

12
Milano

Aucune URL fournie ne se produit lorsqu'une Dropzone est attachée à un objet sans:

  • un attribut d'action sur un formulaire qui indique à dropzone où publier
  • une configuration pour une zone de dépôt spécifique

Je parie que vous avez une condition de concurrence, où Dropzone s'attache à un élément avant de le configurer. Assurez-vous que votre configuration est soit directement après l'importation JS, soit que vous définissez Dropzone.autoDiscover = false; et instancier explicitement la Dropzone.

Jetez un œil sur ici pour plus d'informations.

<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>
39
lin