Ruby on rails Rails3XHR响应充当text/html而不是text/javascript

Ruby on rails Rails3XHR响应充当text/html而不是text/javascript,ruby-on-rails,ajax,ruby-on-rails-3,xmlhttprequest,Ruby On Rails,Ajax,Ruby On Rails 3,Xmlhttprequest,我刚刚将一个应用程序从Rails2.3升级到Rails3.0。此应用程序广泛使用Ajax 自升级以来,每个 respond|to do |格式| format.js 结束 响应的内容类型为text/html,而不是text/javascript(在Firebug中查看)。XHR请求指定Accept=“text/javascript”。结果是Prototype拒绝评估响应,所以我的页面上没有更多的魔力 为了精确起见,我决定加入遗留的RailsPrototypeHelpers,完整的UJS应用程序

我刚刚将一个应用程序从Rails2.3升级到Rails3.0。此应用程序广泛使用Ajax

自升级以来,每个

respond|to do |格式|
format.js
结束
响应的内容类型为
text/html
,而不是
text/javascript
(在Firebug中查看)。XHR请求指定
Accept=“text/javascript”
。结果是Prototype拒绝评估响应,所以我的页面上没有更多的魔力

为了精确起见,我决定加入遗留的RailsPrototypeHelpers,完整的UJS应用程序将是下一个应用程序

作为参考,我尝试将js放在js.rjs文件中:内容类型仍然是“text/html” 我尝试内联js并强制使用
render:update,:content\u type=>“text/javascript”
:运气不好,仍然使用“text/html”content\u type进行回答

欢迎提出任何建议


谢谢。

我也遇到过类似的问题。我发现如果我添加以下内容,我可以让它返回
text/javascript

headers["Content-Type"] = "text/javascript; charset=utf-8"
render :update do |page|
    ...
end


这里也发生了同样的事情,但更奇怪。Chrome和Safari都可以。然而,在Firefox上,第一次post请求时内容类型设置为
text/javascript
,而第二次请求时内容类型设置为
text/html
,这给了我406分。使用Rails 3.2.3这个问题仍然存在,尽管它似乎没有影响到所有人:。
respond_to do |format|
    format.js {headers["Content-Type"] = "text/javascript; charset=utf-8"}
end