Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2013, 13:50
kaa kaa вне форума
Новичок на форуме
Отправить личное сообщение для kaa Посмотреть профиль Найти все сообщения от kaa
 
Регистрация: 03.11.2013
Сообщений: 2

Последовательное выполнение ajax запросов
Здравствуйте.

после загрузки страницы выполняется функция doOnload, включающая несколько последовательных вызовов функции load с разными аргументами.

function doOnload()
{
	load(0, 10);
	load(10, 10);
	load(20, 10);
}

function load(offset, length)
{
	xhr = new XMLHttpRequest();
	xhr.offset = offset;

	var nocache = '&token=' + Math.random();

	url = 'load.php?offset=' + offset + '&length=' + length + nocache;

	xhr.onreadystatechange = process_request_status_change;
	xhr.open("GET", url, true);
	xhr.send(null);
}

function process_response()
{
	var div;
	var json = JSON.parse(xhr.responseText);
	var main = document.getElementById('main');

	for(var i = 0; i < json.length; i++)
	{
		div = document.createElement('div');
		div.innerHTML = json[i];
		main.appendChild(div);

		main.appendChild(document.createTextNode("\n"));
	}
}

function process_request_status_change()
{
	if (xhr.readyState === 4)
	{
		if (xhr.status === 200)
		{
			process_response();
		}
		else
		{
			console.log('%c Server side issue', 'color: red;');
		}
	}
}


код load.php:
$list = range(0, 1000);

$offset	= isset($_GET['offset'])	? $_GET['offset']	: 0;
$length	= isset($_GET['length'])	? $_GET['length']	: sizeof($list);

header("Content-type: application/json");
echo json_encode(array_slice($list, $offset, $length));


ожидаемое поведение:

добавление (в случайном порядке) в код трех последовательностей из 10 дивов.

реальное поведение:
в код добавляется только последняя последовательность из 10 дивов,
но она может быть добавлена один, три или семь раз.

вот так:


так


или так


почему так происходит?
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2013, 19:59
kaa kaa вне форума
Новичок на форуме
Отправить личное сообщение для kaa Посмотреть профиль Найти все сообщения от kaa
 
Регистрация: 03.11.2013
Сообщений: 2

ответ найден
http://stackoverflow.com/questions/1...-ajax-requests
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек ajax запросов Vincent AJAX и COMET 6 04.03.2013 15:08
Несколько ajax запросов одновременно pitbull0007 AJAX и COMET 3 16.10.2012 19:08
PHP: несколько AJAX запросов с долговременной обработкой на сервере FINoM Серверные языки и технологии 9 20.03.2012 19:50
Одновременное количество AJAX запросов decadent AJAX и COMET 18 03.06.2011 18:16
Отследить окончание нескольких ajax запросов mikel AJAX и COMET 2 11.03.2011 17:14