дописать массив
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, время: 03:53. |