使用 AJAX 在 Rails 中自动保存表单

2023-12-22

我正在尝试为 Post#new 操作自动保存表单。每隔一分钟左右,我想 POST 到 Post#autosave,然后检查first_or_create 并保存/更新 Posts 表中的记录。但我的问题是,我无法再从表单访问 POST 参数。我正在尝试这样做:

$(function() {
  if ($("#new_post").length > 0) {
    setTimeout(autoSavePost, 60000); 
  }    
});

function autoSavePost() {
  $.ajax({
    type: "POST",
    url: "/posts/autosave",
    dataType: "script",
    success: function(data) {
      console.log(data);
    }
  });
  setTimeout(autoSavePost, 60000);
}

我有这条路线:

post 'posts/autosave', as: :autosave_post_path

问题是,服务器日志显示 params 哈希仅包含:action 和:controller。我如何访问作为 POST 数据的一部分发送的等效内容。


您需要通过data参数也是如此,通过连载 http://api.jquery.com/serialize/ method:

$.ajax({
  type: "POST",
  url: "/posts/autosave",
  data: $("#new_post").serialize(),
  dataType: "script",
  success: function(data) {
    console.log(data);
  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 AJAX 在 Rails 中自动保存表单 的相关文章

随机推荐