加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 错误406,远程:true Ajax表单仍然导致重定向

发布时间:2020-12-17 02:33:34 所属栏目:百科 来源:网络整理
导读:这让我整天都难过. 我的应用程序提供上传文档,一旦上传它运行create.js.erb并将新记录添加到页面. 我的HTML看起来像这样, div id="doc_upload" %= form_for Document.new,remote: true do |f| % %= f.file_field :file,multiple: true,name: "document[file]
这让我整天都难过.

我的应用程序提供上传文档,一旦上传它运行create.js.erb并将新记录添加到页面.

我的HTML看起来像这样,

<div id="doc_upload">
  <%= form_for Document.new,remote: true do |f| %>
  <%= f.file_field :file,multiple: true,name: "document[file]" %>
  <%= f.hidden_field :plot_id %>
  <%= f.submit 'upload' %>
  <% end %>
</div>

我在documents目录中有一个create.js.erb文件.我目前正在使用JQuery文件上传,拖放文件上传不会引起任何问题.但是,当我使用此表单手动选择文件并上传时,我得到:

>一个406 HTTP错误
>页面重定向到/ documents
>当我回去时,文件已成功上传并保存.

标题如下.

Request URL:http://localhost:3000/documents
Request Method:POST
Status Code:406 Not Acceptable
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}

我的控制器是:

def create
  @document = Document.create(params[:document])
  respond_to do |format|
    format.js
  end
end

正如我所说,这真让我挠头,因为Ajax请求似乎没有被解雇.这是否意味着它可能与不引人注目的JS没有拿起远程真实数据类型有关.这是我能想到重定向的唯一原因.

如果是这样,我如何确认并修复此问题?

任何帮助都会很棒.

罗斯

解决方法

如果您在表单中上传文件,则必须添加 :multipart => true.

但是you cannot post a multipart form via AJAX

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读