rails :: 如何评估 js 响应
Posted
技术标签:
【中文标题】rails :: 如何评估 js 响应【英文标题】:rails :: how js responses are evaluated 【发布时间】:2015-01-27 08:11:05 【问题描述】:我们知道,如果您使用带有远程 true 的表单并将 js 渲染为响应,它就可以工作。但我想知道这些反应是在哪里评估的。我想我在 jquery_ujs.js 中没有找到任何东西。
【问题讨论】:
它仍然会击中控制器。它只是返回 js 而不是 html/json。 没关系,但我的问题是如何评估/执行该 js。它应该由 ajax 回调处理,但它只是执行:success: function(data, status, xhr) element.trigger('ajax:success', [data, status, xhr]);
我找不到表单的任何事件ajax:success
【参考方案1】:
如果您的控制器对创建操作有 js 响应:
def create
respond_to do |format|
format.js
end
end
然后,一旦您提交表单(使用 remote:true 选项),那么您在 create.js.erb 文件中放入的任何内容本质上都是您的 ajax:success 响应。
【讨论】:
好的,但是你看到 ajax:success 响应没有被评估,而是调用了`element.trigger('ajax:success', [data, status, xhr]);`。它在哪里被准确评估?我的表单没有任何回调 –以上是关于rails :: 如何评估 js 响应的主要内容,如果未能解决你的问题,请参考以下文章