您好我试图运行一个AJAX循环,每x秒更新一次这是代码
function ready() {
var form = $('#formcomments');
var submit = $('#comments');
// send Ajax request
$.ajax({
url: <?= json_encode($this->make_base_url("user/comments_all/{$resdata['id']}/")) ?>,
type: 'POST',
data: form.serialize(), //form serizlize data
beforeSend: function() {
// change submit button value text and disabled it
submit.val('Enviando...').prop('disabled', true);
},
success: function(data) {
// Append with fadeIn see http://stackoverflow.com/a/978731
var item = $(data).hide().fadeIn(800);
$('.module').append(item);
var objDiv = document.getElementById("modulecomm");
objDiv.scrollTop = objDiv.scrollHeight;
// reset form and button
form.trigger('reset');
submit.val('Submit Comment').prop('disabled', false);
},
error: function(e) {
alert(e);
}
});
}
这是时间循环
window.setInterval(function(){
ready();
}, 55000);
在让我说10分钟之后,我得到一个带有错误对象的警报[对象]
我怎样才能摆脱这个错误。
答案 0 :(得分:1)
您可以删除以下内容删除错误:
error: function(e) {
alert(e);
}
来自你的代码。
但是,我想你想让你的ajax调用工作,你可能需要一个合理的网址才能实现。无论你在url:
做什么看起来都很疯狂。您可以通过直接在其中键入常规路径并查看其是否有效来轻松调试。此外,您可能正在“发布”到禁止的URL或其他类似的东西。控制台日志是你的朋友。
此外,您的ajax调用设置为运行55秒。你说你在大约10分钟后得到一个错误。如果这是真的,那么你的ajax调用必须在大多数情况下正常工作,但是在几次执行之后,某些东西会中断。这可能意味着您的代码最终会创建一个无法正确处理的状态。你需要跟踪它并修复它。这超出了stackoverflow问题的范围。任何开发人员都必须具备基本的调试技能。