Rails在ajax响应中发送错误的内容类型

问题描述 投票:2回答:1

在一天的大部分时间里,我一直在努力解决以下问题:

  • 我有一个Rails 3.1应用程序-运行正常
  • 我正在尝试向其中添加一些ajax

但是,无论我做什么尝试,Rails都坚持在响应头中发送错误的content-type。

#the form    
= form_for @signup, :url => '/signup', :remote => true do |f|
    = f.text_field :email, :class => 'email', :size => 26
    = f.submit 'Notify me'

#In the controller
def create
  respond_to do |format|
    format.js { render :content_type => 'text/javascript', :layout => false}
  end
end

#the JS file: create.js.erb
alert('HI!');

这是行不通的,但我认为应该这样做。 用Firebug检查服务器响应,它告诉我响应头的内容类型为text/html 。 我认为这就是为什么它不起作用的原因(就像在新生成的应用程序上一样,它使用相同的jquery-rails gem来响应text/javascript标头。

服务器说它正在用JS响应:

Processing by SignupsController#create as JS

但是以某种方式拒绝发送正确的标头。 我迷失了下一步的目标。

关于下一步的任何帮助或指示将不胜感激! 欧文

ruby-on-rails ajax jquery ruby-on-rails-3.1 ujs
1个回答
4
投票

确定找到了解决方案,

因此,应用程序控制器中的after_filter覆盖了内容类型。 并且它们由内而外进行处理。 因此它覆盖了我的声明。

© www.soinside.com 2019 - 2024. All rights reserved.