【问题标题】:POST ajax Completed 406 Not AcceptablePOST ajax 已完成 406 不可接受
【发布时间】:2014-02-11 21:52:13
【问题描述】:

我遇到了一个奇怪的问题。 我不会加载一个 xml 文件并通过 ajax 对其进行解析,并将其内容附加到页面上以供进一步批准。

在我看来:

<%= form_tag import_path, multipart: true, remote: true do %>
    <%= file_field_tag :file %>
    <%= submit_tag "load" %>
<% end %>

控制器:

  respond_to :js
  def import
    respond_to do |format|
      parsing stuff ....
      @result = parsed_corrections

      format.js {render "import"}
    end
  end

我也有 import.js.erb 视图,只是提醒测试。 当我提交一个空表单时,它可以正常工作(内容类型是 text/javascript),但是如果我提交一个 xml 文件,它会显示“已完成 406 不可接受”内容类型是 text/html。

我猜这个问题与内容类型有关。 jquery_rails 和 jquery_ujs 包含在布局中。

感谢您的建议。

【问题讨论】:

    标签: jquery ruby-on-rails ajax multipartform-data


    【解决方案1】:

    你需要处理xml格式

    respond_to do |format|
              format.html 
              format.xml  { parsing stuff.. }
            end
    

    【讨论】:

    • 我需要提交一个ajax post请求。
    • 根据你上面的描述发送post请求,但是你没有解析你的xml。
    • 问题是,当我发送xml文件内容类型设置为“text/html”。
    • 指定内容类型:content_type =&gt; Mime::XML
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 2012-11-22
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 2015-05-17
    相关资源
    最近更新 更多