gpt4 book ai didi

ruby-on-rails - 错误 406,远程 : true Ajax form is still causing a redirect

转载 作者:行者123 更新时间:2023-12-01 00:14:59 25 4
gpt4 key购买 nike

这让我困惑了一整天。

我的应用程序提供文档上传功能,上传后它会运行 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>

我的文档目录中有一个 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}

我的 Controller 是:

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

关于ruby-on-rails - 错误 406,远程 : true Ajax form is still causing a redirect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14409862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com