【问题标题】:Rails submit remote form and handle formless responseRails 提交远程表单并处理无表单响应
【发布时间】:2013-06-03 20:37:46
【问题描述】:

当我提交远程表单时,我的控制器会以 HTML 格式返回一个无布局的索引视图。我希望在我的 HTML 中加载该索引视图时可以触发客户端回调。我试过这样的事情:

$("form").bind('ajax:complete', function(xhr, status) { theCallback() });

但这不起作用。也不绑定ajax:success。在jquery_ujs.js 中进行调试使我相信问题是由于回调事件绑定到的表单在 HTML 响应中不存在这一事实引起的。所以被触发的元素就消失了。

对我来说,这似乎不是一个奇特的场景,所以我猜一定有一个非常简单的解决方案。特别是,我希望这可以通过 HTML 响应类型来完成。我确定可以用 JS 响应类型来完成...

【问题讨论】:

  • this answer。绑定到ajax:success 应该可以工作。你能检查 AJAX 调用的响应吗(即使用 firebug)
  • 响应是普通的部分 HMTL。在jquery_ujs.js 中,我看到在返回HMTL 后执行complete 回调,它执行以下语句:element.trigger('ajax:complete', [xhr, status]);。但是,element 指的是新 HTML 中不再存在的$("form"),因此我的回调永远不会执行。为了继续前进,我决定使用 JS 响应类型,并在响应中明确执行回调功能。但我仍然非常渴望找到 HTML 响应的解决方案。

标签: ruby-on-rails jquery


【解决方案1】:

试试这个:

$('form').bind('ajax:success', function(event, data, status, xhr)

【讨论】:

    猜你喜欢
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多