我有一个包含不同输入字段的表单。因此,用户输入的数据需要自动存储在数据库中。提交请求后,它将被定向到将执行数据库交互的struts文件。
我试过的,我已经设置了每次加载页面时运行的超时功能
var timer;
$(document).ready(function() {
timer = setTimeout("autosave()", 60000);
});
在自动保存功能中,我试图将输入数据发布到指定的URL
jQuery('form').each(function() {
jQuery.ajax({
url: "http://localhost:7002/submitStudent.do?requestType=auto&autosave=true",
data: jQuery(this).serialize(),
type: 'POST',
success: function(data){
if(data && data == 'success') {
alert("data saved");
}else{
}
}
});
});
}
}
一旦请求发送到struts,它将根据请求类型进行处理,数据将被提交。
但就我而言,数据无法保存。
请分享您对我做错了什么以及其他任何方法的建议吗?
感谢您宝贵的建议和时间..
仅供参考,我是Jquery和ajax技术的初学者
JSFIDDLE:jsfiddle
答案 0 :(得分:3)
我已根据您的要求制作了fiddle。
var timer;
var fun = function autosave() {
alert();
jQuery('form').each(function () {
jQuery.ajax({
url: "http://localhost:7002/submitStudent.do?autosave=true",
data: jQuery(this).serialize(),
type: 'POST',
success: function (data) {
if (data && data == 'success') {
alert("data saved");
} else {}
}
});
});
}
$(document).ready(function () {
setTimeout(fun, 1000);
//setInterval(fun,1000);
});
您需要关注两种方法setTimeout
和setInterval
。 setTimeout将在1秒的DOM加载后调用autosave()
,但只会调用一次。 setInterval
会在每1秒钟后反复拨打autosave()
。你可以阅读它here。
setTimeout()
方法调用函数或计算表达式 在指定的毫秒数之后。 提示:该功能仅执行一次。如果您需要重复执行,请使用setInterval()
方法。
有关ajax请求的更多详细信息,您需要查看控制台(F12)错误。
答案 1 :(得分:0)