Rails UJS ajax:完全没有开火

时间:2013-03-07 18:28:29

标签: ruby-on-rails jquery ujs

我有一个使用Rails UJS触发ajax请求的链接。响应实际上替换了包含链接的父元素。 ajax:事件之前按预期触发,但ajax:complete事件永远不会触发。我认为这只是元素被替换的结果。但是为了检查,我直接绑定了一个ajax"完成"不使用UJS回调,它工作正常。

所以我的问题是为什么"完成"直接绑定到ajax调用时的回调工作,但是当通过UJS绑定到" ajax:complete"?

时不起作用

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:-2)

我没想到我之前发表评论(道歉),但现在我觉得我已经足够清醒地帮助你:)。

虽然JQuery支持script()函数,但通常不会通过Ajax触发UJS!使用带有remote:true的常规form_tag(它将在表单中粘贴'data-remote'标签.Ajax与JSON和UJS一起工作,你将返回纯js

请记住,操作通常会以app / views /< controller> /< action> .js.erb(或您当前使用的任何模板技术)的名称呈现给表单

请记住在控制器中使用respond_to块,例如

respond_to do |format|
  format.js   #note.. not .json
end

还要确保您的请求标头接受javascript ..'application / javascript','script'