дописать массив
var token = "455123452342eec8267ce52b8c4e7565983aef5f22e28b2154a4f5eacad66c4c1eb918de0595bb93fb0"
var day = 1
var arr = ["dakota"];
function sendRequest() {
var request5 = new XMLHttpRequest();
request5.withCredentials = true;
request5.open('Get', 'https://api.vk.com/method/users.search?sort=1&count=1000&city=1&country=1&sex=1&status=6&age_from=18&age_to=18&' + day + '&access_token=' + token + '&v=5.52', true);
request5.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request5.onload = function() {
var i = 0;
var json = this.response;
var data = JSON.parse(json);
var data2 = data.response.items
arr["dakota"] = [data2];
for (i = 0; i < data2.length; i++) {
arr.dakota.push(data2[i].id);
}
console.log(arr, day)
}
request5.send();
day++
if(day<=28){clearInterval(sendRequest) }
}
setInterval ( sendRequest ,1000)
каждый раз при увеличении day нужно дописывать массив arr["dakota"] где я ошибся? токен вк не вырный если что |
Цитата:
В 19 пытаетесь обратиться к свойству "dakota" массива "arr". У массива нет такого свойства. Не дожидаясь окончания загрузки данных создаете новый запрос. ps. с консолью научитесь работать. В строке 17 вы создаете массиву свойство "dakota", с которым дальше работаете. Лучше вместо массива использовать object. Из-за 27-й строки запрос будет выполнен только 1. |
спасибо удалил строку 17 и все заработало
|
Денис01952,
В моем предыдущем комментарии есть ошибки, сейчас поправлю. Вы, наверное, может быть, возможно, хотели сделать как-то так:
var token = "455123452342eec8267ce52b8c4e7565983aef5f22e28b2154a4f5eacad66c4c1eb918de0595bb93fb0"
var arr = {
dakota: []
};
function sendRequest(day) {
var request5 = new XMLHttpRequest();
request5.withCredentials = true;
request5.open('Get', 'https://api.vk.com/method/users.search?sort=1&count=1000&city=1&country=1&sex=1&status=6&age_from=18&age_to=18&' + day + '&access_token=' + token + '&v=5.52', true);
request5.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request5.onload = function() {
arr.dakota = arr.dakota.concat(
JSON.parse(this.response).response.items
);
if (++day <= 28)
setTimeout(sendRequest, 1000, day);
else
console.log(arr);
}
request5.send();
};
sendRequest(1);
|
| Часовой пояс GMT +3, время: 14:07. |