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