2
我一直在非常艰难的一天有以下问题更好的一部分:铁轨发出错误的内容类型在Ajax响应
- 我有一个Rails 3.1的应用程序 - 运行正常
- 我试图添加一些AJAX到它
然而,无论我尝试,Rails坚持发送错误的内容类型在响应头。
#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的轨道宝石将其与text/javascript
头响应
服务器说它的响应与JS:
Processing by SignupsController#create as JS
但由于某种原因拒绝发送正确的头。我迷失在哪里接下来看看。
任何帮助或方向在何处下一看,将不胜感激! 欧文
谢谢!这让我走上了正确的道路。应用程序中的后置过滤器将头文件['Content-Type']明确设置为text/html。因此,我无法通过常规方式设置respond_to块中的content_type。我可以通过在响应块中调用标头['Content-Type'] ='text/javascript'来覆盖它。 – Swards