我的ajax回調沒有在我的生產環境中觸發。但是,他們正在發展中,沒有任何錯誤。爲了討論的緣故,我會簡化一些事情。Rails ajax:成功回調沒有在生產中觸發
比方說,我有一個使用鏈接remote: true
:
<%= link_to "Add Foo", new_foo_path, remote: true, id: 'new-foo' %>
foos_controller.rb
class FoosController < ApplicationController
def new
@foo = Foo.new
render partial: 'form' if request.xhr?
end
end
使用Chrome瀏覽器的控制檯,我綁定到ajax:success
:
$(document).on("ajax:success", "#new-foo", function() { console.log("success!"); });
在開發這個作品精細;我得到了「成功!」 Chrome控制檯中的消息。
然而,在生產中,卻沒有。正在提出請求,響應是form
部分,但回調不會觸發。
任何想法?
PS。以下並不工作。
$("#new-foo").bind("ajax:success", function() { console.log("success!"); })
config/environments/production.rb
沒有變化。
編輯:事實證明,ajax:當我點擊生產鏈接時觸發錯誤。
$(document).on("ajax:error", "#new-foo", function() { console.log("error"); });
我的生產日誌不顯示任何錯誤,並在Chrome開發者工具的網絡選項卡顯示與部分作爲身體200 OK
響應。
但是,內容類型標題是生產中的text/javascript
,但text/html
正在開發中。爲什麼相同的代碼在生產中響應text/javascript
?