【问题标题】:rails :: how js responses are evaluatedrails :: 如何评估 js 响应
【发布时间】: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

标签: ruby-on-rails ujs


【解决方案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]);`。它在哪里被准确评估?我的表单没有任何回调 –
猜你喜欢
  • 2014-07-06
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多