2017-02-02 91 views
5

Dropzonejsを使用してファイルをアップロードした後にJSONresponseを取得する方法がわかりません。Dropzone - キャッチされていないエラー:URLが提供されていません

は私が持っているだけで、この:

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

私はそれを変更して、手動で初期化するドロップゾーンなしでは不可能であると思う:Uncaught Error: No URL provided.

がどのように初期化することができ返す

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

dropzoneので、maxFiles、maxSizeなどのオプションを追加できます。JSON

+0

どのようなオプションを追加したいですか?あなたが求めていることは明らかではありません。オプションはすべてである可能性があります。 – lin

+0

maxFilesなどのオプションですが、主な問題はレスポンスをキャッチすることです。 –

+0

あなたは 'console.log(response);の近くで今のレスポンスを捕まえています;それで問題は何ですか? – lin

答えて

13

のいずれかなしにドロップゾーンをオブジェクトにアタッチされますときありませんURLは起こりません:

  • 特定のドロップゾーン用
  • 設定
を投稿する場所ドロップゾーンを伝え、フォームのaction属性

私が賭けたのは、レースコンディションを持っているということです。ここでは、Dropzoneは設定前に要素にアタッチされます。設定がJSインポートの直後か、Dropzone.autoDiscover = false;を設定し、明示的にDropzoneをインスタンス化することを確認してください。

詳細についてはhereを見てください。

<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> 
関連する問題