使用 Rails 3 和 jQuery 的 AJAX 请求被处理为 HTML。

Ami*_*mit 0 ajax jquery ruby-on-rails

我有一个表单,我想用 AJAX 提交,使用 rails 3 和 jquery。我面临的问题是 rails 也以 HTML 的形式响应 AJAX 请求。经过一番搜索,我发现这与未传递正确的 Accept 标头有关。我该如何解决?

这是控制器代码

  respond_to do |format|
    format.js { render 'user/create' }
    format.html { redirect_to ((params[:feed][:url].nil?)?url_for(:home) : params[:feed][:url]) }
  end
Run Code Online (Sandbox Code Playgroud)

它似乎可以在朋友的 Firefox 上运行,在我的 chrome 上也可以运行,我的 Firefox 有问题吗?

更新:似乎只有当我使用代理服务作为 JonDo 时才会出现错误,这可能会更改接受标头......如果存在 X-requested-by 标头,是否有办法强制 rails 使用 js 格式?

谢谢

bjg*_*bjg 5

您的控制器代码看起来正确。您确定.js在表单中的 AJAX URL 中添加了后缀吗?这就是响应者如何知道您想要的响应格式。默认格式是 HTML,因此省略后缀看起来像是在响应 HTML 请求。