2017-01-25 16 views
1

こんにちは私は現在、Dropbox APIにDropzoneで取り組んでいます。なぜ私のdropzone cantが私のajaxリクエストを呼び出すのでしょうか?私は私のアヤックスの要求を私のinit:functionの中に入れ、私のボタンの機能が働くので、それがうまくいくと思った。そこに論理エラーがありますか、私はちょうど私のAJAXリクエストを紛失した場合、私は私の処理が、私はそれがdoesentと思えば、私は内部の私のAJAXを入れてみました、これは私のjsDropzone jsはajaxコールを起動しません

Dropzone.options.files = { 

    autoProcessQueue : false, 
    dictDefaultMessage: "Drop files or click here to upload file(s) ...", 

    init : function() { 


     function uploadfiles(upl) { 

      var files = upl.target.files; 
      var url = "https://content.dropboxapi.com/2/files/upload"; 

      for (var i = 0, file_name; file_name = files[i]; i++) { 

       $.ajax({ 
        url: url, 
        type: 'post', 
        data: file_name, 
        processData: false, 
        contentType: 'application/octet-stream', 
        headers: { 
         "Authorization": "ACCESTOKEN", 
         "Dropbox-API-Arg": '{"path": "/' + file_name.name + '","mode": "add"}' 
        }, 


        success: function (data) { 
         this.on("processing", function(file) { 
          this.options.url = url; 
          alert('Success Upload'); 
         }); 

         console.log(data); 

        }, 
        error: function (data) { 
         console.log(data); 
        } 

       }) 

      } 



      files = this; 


      this.on("drop", function(event) { 
       console.log(files.files); 
      }); 
      Dropzone.autoDiscover = false; 

      $('#btnsubmit').click(function(){ 
       files.processQueue(); 

      }); 

     } 
     document.getElementById('files').addEventListener('change', uploadfiles, false); 


    } 
} 

..です

<form id="files" action="/" class="dropzone" name="files[]" ></form> 
<input type = "button" id = "btnsubmit" value = "Submit"></input> 

を思っていました私のAjaxリクエストを読んでください

+0

スニペットあなたが何であるか不明ファイルをアップロードした後にajax呼び出しを行いたいのですか?何が起こると思いますか? – Gacci

+0

申し訳ありません。私は私のdropbox apiにアップロードする私のAjaxリクエストを呼びたい – VLR

+0

あなたはdropbox apiにdropzoneにドロップしているものをアップロードしたいですか? – Gacci

答えて

1

PuのInit関数内でごthis.on("drop", function(event)機能と、このdrop関数内で画像をアップロードするには、あなたのAJAXメソッドを呼び出し、以下の見つけてください私は

Dropzone.options.MyDropzone = { 
 
    var FormActionURL; 
 
    init : function() { 
 
     myDropzone = this; 
 
     this.on("drop", function(event) { 
 
      alert("Form Action URL:- "FormActionURL); 
 
      //Put your ajax call here for upload image 
 
      console.log(myDropzone.files); 
 
     }); 
 
    } 
 
};
#drop_zone { 
 
    width: 50%; 
 
    border: 2px dashed #BBB; 
 
    border-radius: 5px; 
 
    padding: 25px; 
 
    text-align: center; 
 
    color: #BBB; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://brightscreentv.net/WAYW/js/dropzone.js"></script> 
 
<div id='drop_zone'> 
 
    <form action="https://content.dropboxapi.com/2/files/upload" class='dropzone' id='MyDropzone'></form> 
 
</div>

+0

私のajaxでurlを呼び出し、フォームアクションでurlを変更するにはどうすればいいですか? – VLR

+0

遅く返事を申し訳ありません。変数FormActionURLは実際にはdropzone.optionsの内部にありますか?それは私にエラーがあったので – VLR

+0

@VLRどのようなエラーが表示されているかどうかを確認するには、要求が行われたかどうかをコンソール>ネットワークタブで確認します。 – Curiousdev

-1

Dropbox apiの仕組みはわかりませんが、ここではDropzoneでできることです。しかし、サーバー側でファイルを処理する必要があります。サーバー(XAMPP)をお持ちの場合は、そこにファイルをアップロードしてから、Dropbox APIにリクエストしてください。

init: function(){ 
 
    /* Called once the file has been processed. It could have failed or succeded */ 
 
    this.on("complete", function(file){ 
 
     
 
    }); 
 
    /* Called after the file is uploaded and sucessful */ 
 
    this.on("sucess", function(file){ 
 
     
 
    }); 
 
    /* Called before the file is being sent */ 
 
    this.on("sending", function(file){ 
 
     
 
    }); 
 
}

+0

よろしくお願いいたします。私はそれが動作する場合は更新を保つ。しかし、私はdropzoneに1つの質問がありますDropzoneはAuthorizationヘッダーを持っていますか? – VLR

関連する問題