Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загрузка данных, сервера!) (https://javascript.ru/forum/misc/51946-zagruzka-dannykh-servera.html)

mrKot 26.11.2014 18:06

Загрузка данных, сервера!)
 
Столкнулся с такой проблемой на JS пишу скрипт в игре есть топ, с VK API, передало id друзей кто работал тот знает, и я вот получаю данные о игрока я за раз отправляю по 35 ID пользователей а например друзей у 100 человек это 4 запроса на сервер игры. как мне сделать вот получил эти данные, и их потом вывести на экран а точнее как мне их хранить те что были получение от первых 35 и последние, заранее спасибо..

Например uid_list 1,2,3,4,5 и т.д это первая партия
А потом вторая 6,7,8,9,10 и как мне сделать что-бы все хранилось пока не загрузится а потом уже начать перерабатывать тот JSON массив?

danik.js 26.11.2014 19:41

Запросы последовательно шлешь? Вообще порядок элементов важен? Для объединения массивов юзай concat()

mrKot 26.11.2014 22:29

Как его сюда вмудрить?
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);
		    } 
		}
	 });
    }

mrKot 26.11.2014 22:34

Цитата:

Сообщение от mrKot (Сообщение 343046)
Как его сюда вмудрить?
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
}


danik.js 27.11.2014 05:13

var list = [];
function requestList() {...

...success: function(data) {
    list = list.concat(JSON.parse(data)['response']);
    if (..) {
        sendList(...);
    else {
        // list заполнен. Работаем с ним. Не забываем обнулять.
    }


Лучше сделать так: объяви requestList, в ней уже var list и "рекурсивная" функция requestPortion. Тогда и обнулять ниче не придется.

mrKot 27.11.2014 18:50

Спасибо, понял все таки)

mrKot 01.12.2014 18:28

ёх не вышло ничего((( не работает, не выводит ничего на экран(((


Часовой пояс GMT +3, время: 12:58.