Ответ Rails3 xhr служил text / html вместо text / javascript - PullRequest
1 голос
/ 22 августа 2011

Я только что обновил приложение с Rails 2.3 до Rails 3.0. Это приложение широко использовать Ajax.

С момента обновления каждый

respond_to do |format|
  format.js
end

Ответы с типом содержимого text/html вместо text/javascript (как показано в Firebug). Запрос XHR указывает Accept="text/javascript". В результате Prototype отказывается оценивать ответ, поэтому на моих страницах больше нет магии ...

Для точности я решил включить устаревший RailsPrototypeHelpers, следующим приложением будет полное UJS-приложение.

Для информации я попытался поместить js в файлы js.rjs: тип контента по-прежнему 'text / html' Я попытался встроить js и принудительно набрать render :update, :content_type => 'text/javascript': не повезло, все еще отвечаю с text / html content_type.

Любые предложения приветствуются.

Спасибо.

1 Ответ

2 голосов
/ 31 января 2012

У меня была похожая проблема.Я обнаружил, что могу вернуть text/javascript, если добавлю следующее:

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

или

respond_to do |format|
    format.js {headers["Content-Type"] = "text/javascript; charset=utf-8"}
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...