powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / XMLHttpRequest как повторить реквест нескольок раз?
18 сообщений из 18, страница 1 из 1
XMLHttpRequest как повторить реквест нескольок раз?
    #35248911
Фотография MikeJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Сразу скажу это не мой профиль но жизнь заставила.
Прошу помочь.
Есть сервер на котором есть сервлет.
Нужно к нему обращаться несколько раз подряд.
Как это сделать?

Вот нарыл в инете как это работает.
Могу обратится один раз вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
//This function for create XMLHttpRequest object
function createRequestObject()
{
   if (window.XMLHttpRequest) 
   {
      try 
      {
           // Mozilla, Safari, ...
           return new XMLHttpRequest();
       } 
       catch (e){}
   } 
   else 
       if (window.ActiveXObject) 
       {
          try 
          {
              //old IE
              return new ActiveXObject('Msxml2.XMLHTTP');
          } 
          catch (e){}
          try 
          {
               //IE
               return new ActiveXObject('Microsoft.XMLHTTP');
          } 
          catch (e){}
       }
    return null;
}
////////////////////////////////////////////////////////
                        
function sender(url)
{
   //[ 1 ]
   var http_request = createRequestObject();
   if(http_request == null)
   {
       alert('');
       return false;
   }
                            
    //[ 2 ]
    http_request.onreadystatechange = function() 
    { 
        alertContents(http_request); 
    };
    http_request.open('POST', url, true);
    http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http_request.send('param=getID');
}                            
////////////////////////////////////////////////////////
                        
function alertContents(http_request) 
{
   if (http_request.readyState ==  4 ) 
   {
      if (http_request.status ==  200 )
      {
         alert(http_request.responseText);
      } 
      else 
      {
          alert('');
      }
  }
}


Мне нужно периодически делать реквест на сервер.
Пока сервлет не вернет нужное значение а потом остановится.
Прошу помочь.
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249114
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а много раз вызвать этот sender() что, IQ не позволяет?:)
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249124
Фотография MikeJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо я уже нагуглил. Нужно использовать рекурсивный вызов.
Рогастенько конечно я думал можно как в Jave в потоках

Код: plaintext
1.
2.
3.
4.
5.
while(true)
{
   func();
   sleep( 1000 );
}
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249142
Фотография MikeJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыа много раз вызвать этот sender() что, IQ не позволяет?:)

Зачем сразу так грубо.
Яже написал что это не мой профиль JS
Я программист Java и поначалу я сделал так как делал бы в Jave:
Код: plaintext
1.
2.
3.
4.
while(true)
{
   setTimeOut("func()",  1000 ); 
}

Но броузер повис. Погуглив я понял что нужно использовать рекурсивный вызов.
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249232
guru-ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeJuniorВсем спасибо я уже нагуглил. Нужно использовать рекурсивный вызов.
Рогастенько конечно я думал можно как в Jave в потоках

Код: plaintext
1.
2.
3.
4.
5.
while(true)
{
   func();
   sleep( 1000 );
}


ммм... а где тут рекурсия?
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249582
Фотография MikeJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guru-ru MikeJuniorВсем спасибо я уже нагуглил. Нужно использовать рекурсивный вызов.
Рогастенько конечно я думал можно как в Jave в потоках

Код: plaintext
1.
2.
3.
4.
5.
while(true)
{
   func();
   sleep( 1000 );
}


ммм... а где тут рекурсия?

а где я написал что это рекурсия?
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249600
guru-ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeJuniorПогуглив я понял что нужно использовать рекурсивный вызов.
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249602
guru-ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекурсивный вызов это

Код: plaintext
1.
2.
3.
function F(){
 F();
}


А у Вас наверное все же циклический
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249609
Фотография MikeJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guru-ru MikeJuniorПогуглив я понял что нужно использовать рекурсивный вызов.

Я там написал:
автор
Рогастенько конечно я думал можно как в Jave в потоках //здесь должно быть :


Я просто забыл в конце двоеточие и приведенный пример с рекурсией ничего общего не имеет.
Пример с while это то как бы я написал на яве. Но в JS увы.

Всё равно спасибо за заботу.
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249697
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаю Вашу конкретную реализацию, но рекурсивный вызов использовать не стал бы,
хотя это у Дари так кажется было написано. Причины:
1. Каждый Ваш запрос не обязательно должен закончиться успехом. То есть рекурсия может остановиться.
2. Запросы рекурсивные могут пойти как бы снежным комом один за другим и все равно подвиснет браузер.
3. В памяти могут оставаться все локальные контексты и произойти утечка в ослике.

Для этого лучше используют очереди с setInterval и т.д.

Насчет некрасивых решений в JavaScripte - так это ж кто как пишет. сейчас уже многие склоняются к мнению, что JavaScript по выразительным средствам приближается к лучшим языкам программирования, и ставят его в один ряд с LISP, Perl и Python.
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249709
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy... и ставят его в один ряд с LISP, Perl и Python.
Да уж. Может тебе на другой форум спрыгнуть?
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249718
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не планирую пока.
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249798
Фотография MikeJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacyЯ не знаю Вашу конкретную реализацию, но рекурсивный вызов использовать не стал бы,
хотя это у Дари так кажется было написано. Причины:
1. Каждый Ваш запрос не обязательно должен закончиться успехом. То есть рекурсия может остановиться.
2. Запросы рекурсивные могут пойти как бы снежным комом один за другим и все равно подвиснет браузер.
3. В памяти могут оставаться все локальные контексты и произойти утечка в ослике.

Для этого лучше используют очереди с setInterval и т.д.

Насчет некрасивых решений в JavaScripte - так это ж кто как пишет. сейчас уже многие склоняются к мнению, что JavaScript по выразительным средствам приближается к лучшим языкам программирования, и ставят его в один ряд с LISP, Perl и Python.

Спасибо за setInterval.
Я думал сделать так:
Код: plaintext
1.
2.
3.
4.
func()
{
    setTimeOut("func()",  2000 );
}

Она не виснит.
Работает потихоньку. Или всё равно плохо так делать?
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249923
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeJunior[quot apapacy]
1. Каждый Ваш запрос не обязательно должен закончиться успехом. То есть рекурсия может остановиться.
Код: plaintext
1.
2.
3.
4.
func()
{
    setTimeOut("func()",  2000 );
}

Она не виснит.
Работает потихоньку. Или всё равно плохо так делать?

Если запрос подвиснет или сбойнет - некому очереднй раз вызвать setTimeOut()
+ Ваши локальные контексты не уничтожаются GC
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35249945
Фотография Shiva Razrushitel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy... по выразительным средствам ... р.б. извините чайника, а что это за средства ?
и вообще, что есть "средство" в программировании ?
можно просто сцылочку

ps: или это из области живописи ?
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35250077
Фотография MikeJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy
Если запрос подвиснет или сбойнет - некому очереднй раз вызвать setTimeOut()
+ Ваши локальные контексты не уничтожаются GC

Спасибо за разъяснение. :)
Попробую сделать с setInterval();
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35250900
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shiva Razrushitel apapacy... по выразительным средствам ... р.б. извините чайника, а что это за средства ?
и вообще, что есть "средство" в программировании ?
можно просто сцылочку

ps: или это из области живописи ?

Нет это не из области живописи. Погуглить прежде чем флудить слабо было?
...
Рейтинг: 0 / 0
XMLHttpRequest как повторить реквест нескольок раз?
    #35262948
tIT-GP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на кой ляд эта гадость? %
Есть же классные вещи:

http://docs.jquery.com/Ajax
http://dklab.ru/lib/JsHttpRequest/
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / XMLHttpRequest как повторить реквест нескольок раз?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]