我想自动保存为可用于邮政#新动作。 每分钟左右,我想发表后自动保存#,然后我会检查first_or_create并保存/更新记录在帖子表格。 我的问题是,虽然,我不能再从形式访问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哈希表,因为只有含有:动作和:控制器。 我如何可以访问什么将已发送的POST数据的一部分的等价物。
你需要传递的data
PARAM以及通过序列化方法:
$.ajax({
type: "POST",
url: "/posts/autosave",
data: $("#new_post").serialize(),
dataType: "script",
success: function(data) {
console.log(data);
}
});
看看序列化()函数: http://api.jquery.com/serialize/ :您可以使用它来创建一组数据传递到您的控制器参数。
所以,我在讲解新形式脚本
function autoSavePost() {
$.ajax({
type: "POST",
url: '/quotes',
data: $("#new_post").serialize(),
dataType: "script",
});
}
发送POST请求,其只呈现编辑表单DB中插入对象后,或更好的持续的记录后说控制器。
编辑页面生成后,我们写了一个脚本有一些间隔后只更新对象
function autoSavePost() {
$.ajax({
type: "PATCH",
url: "/post/<%= post.id %>",
data: $("#edit_post").serialize(),
dataType: "script",
success: function(data) {
console.log("data")
}
});
setTimeout(autoSavePost, 60000);
}
因此,这种做法是非常有用和一个完全工作的自动保存表单功能,它可以在任何类型的对象来实现。 谢谢 !
完整的问题与对策链接何时以及如何我遇到了这个
自动保存功能表失败