我从PHP文件返回一个带有200个ID的JSON数组。 (身份证号码)。 我想只有18个theese ID,所以我只发送18个ID到一个新的PHP文件,然后在2秒后,我想将下一个18个ID的JSON发送到新的PHP文件,直到那里不再需要发送的JSON数组中的ID。
$.get('get.php?randomize=1', function(data) {
var json = data;
$("#wallpaper").load('get_random.php?json_18=' + encodeURI(data), hideLoader());
});
如您所见,我已将JSON存储在名为json的变量中。但我不知道如何为每个18 ID分开它。我在jQuery中读过.each函数,但我不太了解它。我希望有人可以帮助我。
答案 0 :(得分:2)
var data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var spliceAt= 5;
var trigger = setTimeout(function() {
var toSend;
if(data.length>spliceAt)
{
var left= data.slice(0,spliceAt);
var right = data.slice(spliceAt);
data = right;
toSend = left;
setTimeout(arguments.callee, 2000);
}
else
{
toSend = data;
}
//$("#wallpaper").load('get_random.php?json_18=' + encodeURI(toSend), hideLoader());
alert(toSend);
}, 2000);
答案 1 :(得分:1)
$.get('get.php?randomize=1', function(data) {
var json = data;
for(i=0;i<n;i++)
{
setTimeout("$('#wallpaper').load('get_random.php?json_18=' + encodeURI(json.slice(i*18,(i*18)+18)), hideLoader());", i*20);
}
});
&安培;检查一下,也许是setTimeout语法的一些错误,没有检查它。
答案 2 :(得分:1)
$.each([52, 97], function(index, value) {
alert(index + ': ' + value);
});
将显示:
0: 52
1: 97
因此,函数遍历每个元素,并将函数应用于每个元素,传递数组中的项索引和项本身。
您可以这样使用slice()函数:
var taken = 0, step = 18;
var subset18;
while (taken < json.length) {
subset18 = json.slice(taken, taken + step);
taken += step;
// do something with subset18
}