javascript - Rails js.erb 不工作

标签 javascript ajax ruby-on-rails-4 erb

我正在提交一个表单,其中嵌套了一些复杂的 Rails Controller 。 Javascript 与提交按钮相关联,如下所示:

    $('#new_search').submit(function() {  
    var valuesToSubmit = $(this).serializeArray();
    $.ajax({
        type: "POST",
        url: $(this).attr('action'), //sumbits it to the given url of the form
        data: valuesToSubmit,
        dataType: "POST" 
    })
    return false; // prevents normal behaviour
});

Rails Controller 可以很好地处理这个问题,并且参数都在它们应该在的位置。

然后我渲染一个 js.erb 文件:

 respond_to do |format|
  format.js { render '/searches/update_search_results.js.erb' } 
 end

日志显示这确实已呈现:

Rendered searches/update_search_results.js.erb (0.3ms)

但是在这个文件中(我已经仔细检查了文件名)即使是一个简单的

alert("hello world");

没有开火。控制台日志中没有 Javascript 错误。有人有什么建议吗?与发送 Ajax 请求的原始 Javascript 有关吗? 感谢您的帮助

最佳答案

好的,通过在 View 中的表单定义中返回旧样式 :remote => true 来修复它。

我认为世界已经不再使用这种方式,转而采用不显眼的 JS 从提交事件中反弹。显然我错了,但这个解决方案可能对某人有帮助,所以我把它留在这里

关于javascript - Rails js.erb 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37437247/

相关文章:

ajax - Umbraco AJAX 调用不起作用

ruby-on-rails-4 - 仅预加载与 ActiveRecord 的第一个关联

javascript - await 是 async 函数内部的保留字错误

javascript - 在 FabricJS 中绘制后无法选择对象

Javascript 提升 - David Shariff 测验

javascript - 当 Jquery AJAX 请求失败时如何创建错误回调?

javascript - 将参数中的空格删除到 JS 函数中

php - Ajax PHP JavaScript : error when using POST method

ruby - Figaro - Rails 缺少用于开发的 secret_key_base

ruby-on-rails - 使用 commontator gem 进行注释时出现 "Undefined local variable or method"错误