簡體   English   中英

使用React,Rails和Paperclip上傳AJAX圖像

[英]AJAX Image Upload with React, Rails and Paperclip

一直在搜索,但沒有什么接近我的問題,除了這個PHP問題

在我的react組件中,使用Rails 5,我只能在提交表單時將圖像上傳到S3; 我不想刷新頁面所以我認為我可以簡單地使用ajax:

...

imageUpload(){
  var formData = $(this).serialize();
   $.ajax({
       url: '<url>',
       type: 'POST',
       data: formData,
       async: false,
       cache: false,
       contentType: false,
       processData: false,
       success: function (data) {
           console.log(data);
       },
       error: function () {
           alert("error in ajax form submission");
       }
   });
},

...

html:

<form encType="multipart/form-data" acceptCharset="UTF-8">
  <input
    type="file"
    name="user[evidence]"
    id="user_evidence"
  />
  <button className="success button small" onClick={this.imageUpload}>Upload</button>
</form>

轉到更新方法(ajax url發現方法沒問題):

...

def update
 u = User.find(1)
 u.update_attributes(user_evidence) # causing ajax to return an error
end

private
  def user_evidence
   params.require(:user).permit(:evidence)
  end

添加圖像並單擊按鈕時,不會上傳任何內容到s3。 我想我錯過了ajax的某種遠程信息?

編輯:

我創建了一個簡單的Rails應用5這個問題在這里

您不能在方法中使用this來引用表單。 嘗試使用refs

<form ref="myForm" ...>
...
var formData = $(this.refs.myForm).serialize();

你有沒有嘗試過:

<form remote="true"...>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM