26.11.2014, 18:06
|
Аспирант
|
|
Регистрация: 02.01.2014
Сообщений: 85
|
|
Загрузка данных, сервера!)
Столкнулся с такой проблемой на JS пишу скрипт в игре есть топ, с VK API, передало id друзей кто работал тот знает, и я вот получаю данные о игрока я за раз отправляю по 35 ID пользователей а например друзей у 100 человек это 4 запроса на сервер игры. как мне сделать вот получил эти данные, и их потом вывести на экран а точнее как мне их хранить те что были получение от первых 35 и последние, заранее спасибо..
Например uid_list 1,2,3,4,5 и т.д это первая партия
А потом вторая 6,7,8,9,10 и как мне сделать что-бы все хранилось пока не загрузится а потом уже начать перерабатывать тот JSON массив?
Последний раз редактировалось mrKot, 26.11.2014 в 18:08.
|
|
26.11.2014, 19:41
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Запросы последовательно шлешь? Вообще порядок элементов важен? Для объединения массивов юзай concat()
__________________
В личку только с интересными предложениями
|
|
26.11.2014, 22:29
|
Аспирант
|
|
Регистрация: 02.01.2014
Сообщений: 85
|
|
Как его сюда вмудрить?
function sendList(uid,token,server_url,counter,max) {
var $horror_info = $("#add_horror" + uid);
$horror_info.html("<center><b>Загрузка данных о игроках - " + Math.ceil(parseInt(counter) / max * 100) + "%</b></center>").show();
$.ajax({
url: server_url,
type: 'POST',
data: {'method': 'list', 'offset':counter*36, 'token':token},
success: function(data) {
if(counter < max-1){
sendList(uid,token,server_url,counter+1,max,callback);
}
}
});
}
|
|
26.11.2014, 22:34
|
Аспирант
|
|
Регистрация: 02.01.2014
Сообщений: 85
|
|
Сообщение от mrKot
|
Как его сюда вмудрить?
function sendList(uid,token,server_url,counter,max) {
var $horror_info = $("#add_horror" + uid);
$horror_info.html("<center><b>Загрузка данных о игроках - " + Math.ceil(parseInt(counter) / max * 100) + "%</b></center>").show();
$.ajax({
url: server_url,
type: 'POST',
data: {'method': 'list', 'offset':counter*36, 'token':token},
success: function(data) {
if(counter < max-1){
sendList(uid,token,server_url,counter+1,max,callback);
}
}
});
}
|
Вот такой JSON
Код:
|
{
"response": [{
"id": "3205985",
"name": "\u0412\u043e\u0440\u043e\u043d",
"level": "7",
"br_total": "1510",
"horrorg": 2,
"agression": 1,
"rage": 0
}],
"generate": null
} |
|
|
27.11.2014, 05:13
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
var list = [];
function requestList() {...
...success: function(data) {
list = list.concat(JSON.parse(data)['response']);
if (..) {
sendList(...);
else {
// list заполнен. Работаем с ним. Не забываем обнулять.
}
Лучше сделать так: объяви requestList, в ней уже var list и "рекурсивная" функция requestPortion. Тогда и обнулять ниче не придется.
__________________
В личку только с интересными предложениями
|
|
27.11.2014, 18:50
|
Аспирант
|
|
Регистрация: 02.01.2014
Сообщений: 85
|
|
Спасибо, понял все таки)
|
|
01.12.2014, 18:28
|
Аспирант
|
|
Регистрация: 02.01.2014
Сообщений: 85
|
|
ёх не вышло ничего((( не работает, не выводит ничего на экран(((
|
|
|
|