1

我有一个包含表单的模式,用户可以在其中上传照片。正确上传照片后,我想通过 Ajax 进行响应并显示一条消息。

不幸的是,表单是在 HTML 中提交的,而不是在 JS 中提交的。

任何想法?

表格代码:

<%= form_for(Object.new() , :url => {:controller => 'objects', :action => 'create'}, :remote=> true, :html => { :multipart => true }) do |f| %>
     <%= f.file_field :photo, label: 'add a photo' %>
     <%= button_tag(type: 'submit', class: "btn btn-success") do %>
            <i class="icon-arrow-up icon-white upload"></i>Upload
     <% end %>
<% end %>

谢谢

4

2 回答 2

2

您不能使用 AJAX 上传文件。这可能是提交是 HTML 而不是 JS 的原因。

不过,您有一些技巧可以解决此问题:

我希望这有帮助

于 2012-11-29T13:08:43.440 回答
1

不幸的是,rails 无法使用 ajax 直接上传文件,因为 javascript 无法直接访问硬盘文件。显然有一个涉及 iframe 的解决方法:这个先前的问题可能会对您有所帮助:

RAILS - 回形针不适用于 Ajax

以及一些关于以 Rails 形式上传文件的内容:

http://guides.rubyonrails.org/form_helpers.html#dealing-with-ajax

于 2012-11-29T13:03:51.357 回答