Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.07.2011, 12:27
Новичок на форуме
Отправить личное сообщение для bidloCoder Посмотреть профиль Найти все сообщения от bidloCoder
 
Регистрация: 03.06.2011
Сообщений: 7

Много поточный ajax, даже ie 9 дурак
Добрый день.

Написал ф-цию для много поточного ajax запроса. (+jquery)

Проблема в том что ie 9 (версии ниже не проверял) позволяет только 2 потока ... это видно т.к. каждые 5 сек в блок див с id="resa" должно появляться одновременно кол-во записей разными кол-во потоков т.е. 5, в опере и др. браузерах все нормально, а вот ie больше двух потоков одновременно не дает ...

Как быть? может можно как-то во обхитрить? во фремы засунуть?

Вот код:
ajax_stream=0; // глобальная переменная показывает кол-во поток сейчас работает


qrt=new Array('q=1263', 'q=ert', 'q=12ert3', 'q=erter7tert', 'q=er77tert', 'q=e4444rtert', 'q=12werwer3', 'q=12sdfsdf3', 'q=1werwer23', 'q=12sdfsdf3', 'q=12werwer3', 'q=1sdfsdf23', 'q=12werwer3', 'q=12fsdf3', 'q=12qweqwe3', 'q=12werwer3', 'q=dfgdfg', 'q=ertreffg', 'q=1tttt23', 'q=ttt', 'q=ertertt', 'q=ertert', 'q=ertert', 'q=ertert');


stream_ajax(5, 'test.php', qrt, function(data){
	$('#resa').html($('#resa').html()+"<br>"+data);
	//alert(ajax_stream);
});

function stream_ajax(streams, to, dataq, func, datat) //streams - кол-во потоков. dataq - данные посылаемые серверу (массив)
{
	if(streams>10) return -1;
	if(!datat) datat='html';
	
	function gos(to, dataq, func, datat)
	{
		if(!dataq.length)
		{
			--ajax_stream;
			return;
		}
		$.ajax({
		url				: to,
		data			: dataq.shift(),
		dataType		: datat,
		async			: 1,
		success			: function(data)
		{
			func(data);
			return gos(to, dataq, func, datat);
		},
		error			: function(xhr, texts)
		{
			alert(texts);
			return 0;
		}
		});
	}
		
	
	for(var i=0; i<streams; i++)
	{
		++ajax_stream;
		gos(to, dataq, func, datat);
	}
}



Запросы отправляю сюда "test.php"
sleep(5);
echo $_POST['q'];



Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 29.07.2011, 20:53
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Попробуйте в IE8 и выше через XDomainRequest посылать запросы на разные домены.

Последний раз редактировалось Octane, 29.07.2011 в 20:57.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чудеса математики js при padding borovik Элементы интерфейса 6 09.07.2011 22:02
даже не знаю как сформуллировать, вопрос по AJAX eugene00 AJAX и COMET 15 15.02.2010 15:07