ajax分批次读取json
时间: 2023-08-13 13:11:50 浏览: 157
一次读取多条json数据
你可以使用AJAX的递归方法来分批次读取JSON数据。以下是一个示例代码:
```javascript
function loadJSON(url, callback) {
var xhr = new XMLHttpRequest();
xhr.overrideMimeType("application/json");
xhr.open('GET', url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
callback(JSON.parse(xhr.responseText));
}
};
xhr.send(null);
}
function processJSON(jsonData) {
// 在这里处理每个批次的数据
}
function readJSONBatch(url, batchSize) {
loadJSON(url, function(data) {
var jsonData = data;
var i = 0;
var len = jsonData.length;
function processBatch() {
var end = Math.min(i + batchSize, len);
var batch = jsonData.slice(i, end);
processJSON(batch);
if (end < len) {
i += batchSize;
setTimeout(processBatch, 1000); // 延迟1秒后读取下一个批次
}
}
processBatch();
});
}
// 使用示例
var url = 'data.json'; // JSON 数据的URL
var batchSize = 10; // 每个批次的大小
readJSONBatch(url, batchSize);
```
这个例子中,`readJSONBatch` 函数会递归地读取 JSON 数据,并将每个批次的数据传递给 `processJSON` 函数进行处理。你可以根据自己的需求修改 `processJSON` 函数来处理数据。同时,你也可以调整 `batchSize` 来控制每个批次的大小。
阅读全文