現在、JQueryを用いて動的に生成したボタンをクリックすることで、非同期でS3に画像をアップロードする処理を実装しようとしています。
流れとしては、
①JQueryを用いて、ボタン(画像アップロードボタン)を生成
※ボタンをクリックするとファイル選択画面が開き、画像を選択できるようになっております。
②上記ボタンクリック時にAjaxを用いて、Railsのコントローラに画像データを渡す
③carrierwaveを用いて、S3に画像をアップロードする
となっております。
①のボタン生成まではなんとかできました。
③のcarrierwaveの基本は、一応は理解しているつもりです。
②のrails側にデータを渡し、連携させて処理を行わせる方法がどうしてもわかりません。
初歩的な質問で申し訳ありませんが、どなたかご教授のほど、よろしくお願いいたします。
不必要かもしれませんが、現在のjsファイルの記述内容を以下に記載しておきます。
画像アップロードボタンをクリックした時の処理部分です。
こちらにrails側にデータを渡す処理を追加したいです。
javascript
1$('#image_upload_button').on('change', function(){ 2 e.preventDefault(); 3 var formdata = new FormData($(this).get(0)); 4 5 $.ajax({ 6 url: window.location.href, 7 type: 'POST', 8 dataType: 'json', 9 contentType: false, 10 processData: false, 11 data: formData, 12 }) 13 14 .done(function(data) { 15 //成功時 16 }) 17 18 .fail(function() { 19 //失敗時 20 }) 21 return false; 22});
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。