javascript - 无法使用 Javascript 刷新 Ajax 数据
问题描述
我有一个脚本:
<script type="application/javascript">
var ajax = window.setInterval(function(){
$.ajax({
cache: false,
url: 'data.php',
type: 'get',
dataType: 'JSON',
success: function(response){
var len = response.length;
$("#getAjax").append("<div id='getAjax2' class='content content-"+len+"'></div>")
for(var i=0; i<len; i++){
var title = response[i].title;
var live = response[i].live;
var div_result = "<div class='result'>" +
"<div class='title'>" + title + "</div>" +
"<div class='number bnum'>" + live + "</div>" +
"</div>";
$("#getAjax2").append(div_result);
}
}
});
}, 5000);
</script>
它仅在页面加载后完美加载数据一次,但不再刷新。
我正在尝试每 5 秒刷新一次此数据。
有什么建议么?
解决方案
正如@Shidersz 所指出的,您的 div 具有相同的 ID。这是一个稍加修改的版本,将响应添加到新的 div:
<script type="application/javascript">
var ajax = window.setInterval(function(){
$.ajax({
cache: false,
url: 'data.php',
type: 'get',
dataType: 'JSON',
success: function(response){
var len = response.length;
var div = document.createElement('div');
$("#getAjax").append(div).attr('class', "content content-"+len);
for(var i=0; i<len; i++){
var title = response[i].title;
var live = response[i].live;
var div_result = "<div class='result'>" +
"<div class='title'>" + title + "</div>" +
"<div class='number bnum'>" + live + "</div>" +
"</div>";
$(div).append(div_result);
}
}
});
}, 5000);
</script>
推荐阅读
- excel - Excel:计算单元格范围内的字符串出现次数
- html - 如何在固定元素内添加空格?
- deep-learning - gym.spaces.box 观察状态理解
- reactjs - 与 React / Typescript 性能相关的可变范围的最佳实践是什么?
- python - Script to wait till a specified time
- flutter - 使用 MobX 在 Flutter 中处理关系数据
- rest - REST API - 更新实体之间的关系
- r - 在R中组合直方图条
- mips - 有没有办法将整数转换为数组(即 45 -> array[0] = 5 ; array [1] = 4)?
- javascript - 反应:material-ui-pickers date-io Jalaali Utils 返回错误:TypeError:utils.getDayText 不是函数