Помогите, пожалуйста, с Ajax

(Ответов: 2, Просмотров: 507)
  1. Опытный Аватар для archerl
    • Регистрация: 02.10.2011
    • Сообщений: 469
    • Записей в дневнике: 1
    • Репутация: 26
    • Webmoney BL: ?
    Всем привет! Такая проблема возникла. При одновременном вызове двух разных аякс запросов - один запрос всегда ждет, когда другой запрос вернет результат. Т.е. если один запрос выполняется 10 секунд, а второй 1 секунду, то оба вернут свой результат через 10 секунд, а нужно, чтобы сначала вернул результат запрос в 1 секунду, а потом другой.
    Код вызова запросов стандартный:

    Код:
    // Функция выполняет асинхронный запрос к странице.
    function make_request(url, function_name, param)
    {
      if (!is_param(function_name))
        function_name = 'set_request_result';
      if (!is_param(param))
        param = null;
      var http_request = false;
      if (window.XMLHttpRequest) // Mozilla, Safari, ...
      {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
          http_request.overrideMimeType('text/xml');
      }
      else if (window.ActiveXObject) // IE
      {
        try
        {
          http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
          try
          {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch (e)
          {
            return false;
          }
        }
      }
      if (!http_request)
        return false;
      if (function_name != 'none')
        http_request.onreadystatechange = function() { eval(function_name + '(http_request);') };
      http_request.open('POST', url, true);
      if (param)
        http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      http_request.send(param);
      return http_request;
    }
    
    // Функция возвращает истину, если пришел результат асинхронного запроса к странице.
    function is_make_request(http_request)
    {
      try {return http_request.readyState == 4 && http_request.status == 200;} catch (e) {return false;}
    }
    
    // Функция возвращает результат асинхронного запроса к странице.
    function get_make_request(http_request)
    {
      return http_request.responseText;
    }
    http://seogram.ru - Продвижение сайтов с оплатой только за потенциальных клиентов.
    • 0
  2. Новичок Аватар для DotNet
    • Регистрация: 05.03.2011
    • Сообщений: 1
    • Репутация: 0
    Почитайте про Web Workers, к примеру тут или тут
    • 0
  3. Опытный Аватар для archerl
    • Регистрация: 02.10.2011
    • Сообщений: 469
    • Записей в дневнике: 1
    • Репутация: 26
    • Webmoney BL: ?
    Уже нашел в чем проблема, оказывается запросы блокировались сессиями PHP, а с кодом аякса все нормально.
    http://seogram.ru - Продвижение сайтов с оплатой только за потенциальных клиентов.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Помогите разобраться пожалуйста!)
Вопросы от новичков 1 09.03.2012 20:39
Помогите с кодом пожалуйста
Web программирование 25 27.12.2011 09:59
Нужен кредит в WMR
Оффтоп и свободные темы 0 05.09.2011 19:18
Помогите пожалуйста с версткой
Web программирование 1 27.04.2011 18:03

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры