并非所有循环都已处理,13200 个循环中只有 5655 个
Not all Loops processed, only 5655 out of 13200
我有2个javascript循环,一个嵌套在另一个中,对服务器端进行AJAX调用。循环生成一对数字(latlng坐标),然后通过.getJSON()
传递给服务器,在那里它将入到MySQL表中。
问题:脚本运行大约 6 分钟,总共有 13200 个 AJAX 调用。在chrome的网络开发者工具中,它说5656/13646 requests 536.20KB/2.15MB
.当我检查表中插入的条目时,我只看到 5655 行!其余的怎么了?
JS代码
for(var i = 0; i < 110; i++) {
var lat_current = lat_start + lat_increment * i;
for(var j = 0; j < 120; j++) {
// Do some calculations
// More code here...
// Insert LatLng into database
$.getJSON(base_url + 'insert_latlng_to_crawl',
{
lat: lat_current,
lng: lng_current
},
function(json){
});
}
}
你应该创建一个javascript对象,然后将其传递给服务器并在服务器端处理它
var coords=Array();//Create an array to store the calculations
for(var i = 0; i < 110; i++) {
var lat_current = lat_start + lat_increment * i;
for(var j = 0; j < 120; j++) {
// Do some calculations
// More code here...
// append the results to the array
coords.push({lat: lat_current, lng: lng_current});
}
//Make the ajax call to the server, sending the completed Array JSON encoded
coords= JSON.stringify(coords);
$.ajax({
type: 'POST',//you should send big chunks of data via POST
url: url,
data: coords,
success: success,
dataType: JSON
});
它可能正在计算返回值。
5655/13200
5655 是您发送的内容,/后面的数字是总数(包括返回的值,它是您第一个数字的 2 倍)。发送和接收的 json 值。我假设某种成功状态?
另外问题是表中插入了多少个重复值?您的桌子上有唯一键吗?
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- 为什么“;未定义的“;在JavaScript中结束循环
- Javascript循环不会自我更新
- 如何使用jquery处理php循环通过元素
- 而循环只设置php中输入字段中的第一个值
- 循环遍历数组中的特定索引
- Javascript返回值只在循环中返回一次
- 按照选项卡索引的顺序循环一个jQuery选择
- 循环遍历以数组为值的Javascript对象
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 循环结束/推送到数组之前在页面上呈现EJS
- 循环比赛位置算法
- jQuery循环在特定位置暂停
- 我的javascript for循环不起作用
- 循环浏览多个身体背景图像
- W3C循环样式的JavaScript
- 并非所有循环都已处理,13200 个循环中只有 5655 个