javascript - 点击加载更多json数据
问题描述
我一直在尝试创建一个将 JSON 数据附加到ul
. 问题是 JSON 文件有超过 600 个值。
我想限制检索到的值的数量,比如 10,然后添加一个“加载更多”按钮来追加更多,例如。10个以上,以此类推。这是我的代码。
<body onload="loadUser(20)">
<ul id="placeholder"></ul>
function loadUser(arg) {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'people.json', true);
xhr.onload = function() {
if (this.status == 200) {
var users = JSON.parse(this.responseText);
for (var i = 0; i < arg; i++) {
var output = `<li class="list_item">${users[i].name</li>`;
document.getElementById('placeholder').innerHTML += output;
}
document.getElementById('placeholder').innerHTML += '<button onclick="loadmore()">load more</button>';
}
}
xhr.send();
}
// JSON Example:
[{
"id": 1,
"name": "Mithu Mondal",
"email": "mithu@bla.com"
},
{
"id": 2,
"name": "Frankenstien",
"email": "frank@gmail.com"
}
]
这是链接:https ://www.mithuation.ml/jsonExample/
提前致谢。
解决方案
当您执行AJAX
请求 ( XMLHTTPRequest
) 时,它会加载整个文件。没有办法让浏览器加载部分文件。
如果您不打算使用数据库(这将允许您一次查询一定数量的项目),我建议您将数据拆分为多个JSON
文件。当您执行 时XMLHTTPRequest
,您将只检索数据的一个子集。对于下一个请求,您将检索下一个文件,从而获得下一组数据。
推荐阅读
- java - 如何截取在 selenium 中失败的 webelement(部分屏幕而不是整个页面)的屏幕截图
- ionic-framework - 将离子芯片包裹在 ion-item Ionic 4 中
- jenkins - java.io.IOException:无法运行程序“curl”:错误=2,没有这样的文件或目录
- r - 将列表转换为数据框
- html - 将文本与图像对齐
- php - 合并两个以逗号分隔的数组
- python - 如何更改原始变量
- javascript - 如何从控制器滑动输入
- python-3.x - 使用python从ElasticSearch中查询数据
- java - 在Java中使用JSch转发端口时“本地端口......无法绑定”