2017-02-02 3 views
5

Ich kann nicht herausfinden, wie JSONresponse nach dem Hochladen einer Datei mit Dropzonejs erhalten.Dropzone - Uncaught Fehler: Keine URL angegeben

Gerade eben habe ich:

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

Ich denke, es ohne manuelle Initialisierung Dropzone nicht möglich ist, so dass ich es geändert:

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

Welche Uncaught Error: No URL provided.

Wie zurückkehren kann ich initialisieren dropzone, also kann ich Optionen wie maxFiles, maxSize hinzufügen und JSON Antwort bekommen?

+0

Welche Art von Option möchten Sie hinzufügen? Es ist nicht klar, was du verlangst. Eine Option könnte alles sein. – lin

+0

Optionen wie maxFiles usw. Aber das Hauptproblem ist es, eine Antwort zu bekommen. –

+0

Sie fangen die Antwort jetzt in der Nähe von 'console.log (Antwort);' Also, was ist das Problem damit? – lin

Antwort

13

Keine URL bereitgestellt passiert, wenn ein Sprungplatz an ein Objekt angebracht wird, ohne entweder:

  • ein action-Attribut auf einem Formular, das Dropzone sagt, wo
  • eine Konfiguration für spezifischen Sprungplatz schreiben

Meine Wette ist, dass Sie eine Race Condition haben, in der Dropzone sich an ein Element anhängt, bevor Sie es konfiguriert haben. Stellen Sie sicher, dass Ihre Konfiguration entweder direkt nach dem JS-Import erfolgt oder dass Sie Dropzone.autoDiscover = false; setzen und die Dropzone explizit instanziieren.

Werfen Sie einen Blick auf here für weitere Informationen.

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