我还是JQuery的新手,我使用setTimeout在一段时间后加载插入的数据。我尝试了这个例子以及关于这个问题的答案,但没有任何效果!
我做错了什么?
<script>
$(document).ready(function(){
function fetch_data(){
$.ajax({
url:"getdata.php",
success: function(data){
$('.result').html(data);
}
});
}
fetch_data();
setTimeout(function() {
fetch_data();
}, 2000);
});
</script>
答案 0 :(得分:0)
看来你的代码是正确的。 我认为问题出在jQuery.ajax调用中,所以我认为它返回“失败”。 请添加“错误”方法并测试如下。
$(document).ready(function(){
function fetch_data(){
$.ajax({
url:"getdata.php",
success: function(data){
$('.result').html(data);
},
error: function(xhr, textStatus, errorThrown){
alert('request failed');
}
});
}
fetch_data();
setTimeout(function() {
fetch_data();
}, 2000);
});
答案 1 :(得分:0)
只需使用setInterval
即可。这是您需要的代码。
的JavaScript
$(document).ready(function(){
function fetch_data(){
$.ajax({
url:"getdata.php",
success: function(data){
$('.result').html(data);
}
});
}
fetch_data();
setInterval(function() {
fetch_data();
}, 2000);
});
答案 2 :(得分:0)
你的代码接缝没问题。
但是在你的代码中fetch_data
函数会被调用两次。
如果你只需要在2秒后拨打fetch_data
。声明后删除fetch_data();
调用。
以下示例将清楚地解释它。
$(document).ready(function(){
function fetch_data(){
$('#message').append('<p>called fetch</p>');
}
fetch_data();
setTimeout(function() {
fetch_data();
}, 2000);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<div id="message"></div>
&#13;
如上面的答案所述,可能是ajax请求失败的问题。因此,请确保ajax调用正常。