Страница 1 из 1

Странное поведения ajax

Добавлено: 09 июл 2012, 14:55
Soronorus
Здравия всем вообчем есть такой нехитрый запросец
$(document).ready(function() {
setInterval(camera, 2000);
camera();
function camera () {
    $.ajax({
	url:	 '/some.php', 
	type:	 'GET',
    async:true,
    beforeSend: function(){
        $("div#timer").empty().text("Загрузка...");
      },
    success: function(response){ 
	  
	  $("div#results").empty().html(response);
	},
    complete: function(){
        $("div#timer").empty();
    }
    
    });  
    
    
    
    }
});
при работе на реальном сервере всё ок запрос к серверу идёт через каждые 2000 мс
на OPEN SERVER всё иначе. Ещё не выполнился 1 запрос к серверу а уже скрипт начинает 2, 3 и так до 100, из-за чего не ясно но мешает тестировать. если указать интервал 4300мс (выяснено опытным путём) то всё ок 1 запрос в 4,3 сек. если async:false, то работает любой интервал правильно но это не хорошо так как блокируется браузер( так и должно быть)
кто сталкивался почему так???

Добавлено: 09 июл 2012, 15:55
Максим
Ну так всё правильно работает, как и должно. Асинхронное выполнение не означает что последующие запросы будут ждать обработки первого.

Добавлено: 11 июл 2012, 17:18
Soronorus
что правильно?
setInterval(camera, 2000);
устанавливает выполнение функции camera раз в 2000 мс
а он не ждёт этих 2000 а сыплет без перерыва

Добавлено: 11 июл 2012, 17:54
Максим
Что за бред... проверил ваш скрипт и всё там работает как положено, 1 запрос в 2 секунды, не зависимо от того выполнился ли предыдущий. Специально ввел URL медленного сайта, вот уже 15 коннектов у меня висят и ответы пока не получены, а новые запросы продолжают добавлятся как положено: 1 запрос в 2 секунды.

В общем закрыть тему надо, не дурите людям голову выдуманными проблемами.

Добавлено: 11 июл 2012, 21:34
duxabilii
Soronorus, а каким браузером пользуетесь?