【发布时间】:2013-03-07 18:28:29
【问题描述】:
我有一个使用 Rails UJS 触发 ajax 请求的链接。响应实际上替换了包含链接的父元素。 ajax:before 事件按预期触发,但 ajax:complete 事件永远不会触发。我认为这只是元素被替换的结果。但只是为了检查,我直接绑定到一个 ajax“完成”回调而不使用 UJS,它工作正常。
所以我的问题是为什么“完成”回调在直接绑定到 ajax 调用时起作用,但在通过 UJS 绑定到“ajax:complete”时不起作用?
【问题讨论】:
-
检查您的服务器日志,并注意“处理请求为”这一行,这应该会给您一个很大的线索。或者,通过调试器检查 chrome 中的请求标头并查看“accepts”.. 应该是 application/javascript.. 确保您正在做 respond_to do |formt| format.js .... 不是 format.json
-
我检查了一下,一切都在显示 js。它处理渲染的 js 就好了,但是 ajax:complete 不会触发。
-
嗨@TomRossi 我有同样的问题请问解决方案是什么?
标签: ruby-on-rails jquery ujs