Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   post цикл for (https://javascript.ru/forum/jquery/58156-post-cikl.html)

JQurey_API 07.09.2015 20:52

post цикл for
 
var a = $("a[name]").attr('name');
a = parseInt(a);
if(true){
for(var i=0; i<=15; i++){ 
  a++;
  $.ajax({type:'POST',data:'Id='+ a +'&point=5', 
          url:'/ins',
          success:function(data,textStatus){showNoty(data);}});
};
}else if(isNaN(a)){
  alert("Нету id");
};

берем значение атрибута a[name] значение 820022 - превращаем в числа и в цикл +15.
все +15 должны отправлять пост запросы 15 раз,
но не получается(сплошной рандом) :(
вопрос: как сделать так, чтобы все 15 постов проходили без проблем.

krasovsky 08.09.2015 06:40

Сделать цикл который собирает значения а потом отправляет скопом все на сервер и так же скопом получает обратно ответ.

А получается у тебя так потому что ты посылаешь асинхронный запрос. А их эти асинхронные запросы, одним аршином не измерить - время выполнения их никак не регулируется.

forwardonly2015 08.09.2015 11:27

Цитата:

Сообщение от krasovsky
А получается у тебя так потому что ты посылаешь асинхронный запрос. А их эти асинхронные запросы, одним аршином не измерить - время выполнения их никак не регулируется.

Их можно синхронизировать.

krasovsky 08.09.2015 11:44

Цитата:

Сообщение от forwardonly2015
Их можно синхронизировать.

Да ради бога) Если, конечно 100500 одинаковых запросов пожирающих серверные мощности,и к тому же, блокирующих работу клиента на время своей отработки,не является чем то предосудительным)

Я тут недавно работал на проекте где было по 8 шаблонов дублирующих функциональность за исключением двух-трех переменных и пары if'ов на каждый блок раздела сайта - можно даже так!)

forwardonly2015 08.09.2015 11:54

Цитата:

Сообщение от krasovsky
и к тому же, блокирующих работу клиента на время своей отработки

Асинхронные запросы не болокируют работу клиента.

forwardonly2015 08.09.2015 11:58

krasovsky,
Ваше "решение" ясное дело, оптимальное, в данном случае, когда мы разом можем загрести все данные и разом их обработать на сервере. Но ясно, также, что типичная задача подобных юзкейсов в том, что требуется обработка последующего запроса, в зависимости от предыдущего.

krasovsky 08.09.2015 12:00

Цитата:

Сообщение от forwardonly2015
Асинхронные запросы не болокируют работу клиента.

Спасибо кэп. Но помниться, говорили о синхронных. Или я видимо не правильно понял выражение "Их можно синхронизировать." которым, вероятно, подразумевалось что можно наколбасить ненужного кода который реализует "правильный порядок запросов и ответов".

forwardonly2015 08.09.2015 12:03

Цитата:

Сообщение от krasovsky
Но помниться, говорили о синхронных. Или я видимо не правильно понял выражение "Их можно синхронизировать."

Явно Вы неправильно что-то поняли, ибо непонятно, что значит синхронизация синхронного кода.

nesnayka 08.09.2015 12:04

Я что-то не понял, вы отправляете POST с одним и тем же значением на сервер 15 раз подряд? ЗАЧЕМ?!
100500
100501
100502
...
100515
это фактически одно и тоже значение.

forwardonly2015 08.09.2015 12:05

Цитата:

Сообщение от krasovsky
Но помниться, говорили о синхронных

Цитата:

Сообщение от krasovsky
А получается у тебя так потому что ты посылаешь асинхронный запрос. А их эти асинхронные запросы, одним аршином не измерить - время выполнения их никак не регулируется.

Ага, помнится. Не помнится только где это было. Может в прошлой жизни где-то, хз

krasovsky 08.09.2015 12:09

Цитата:

Сообщение от forwardonly2015
Их можно синхронизировать.

Цитата:

Сообщение от forwardonly2015
Явно Вы неправильно что-то поняли, ибо непонятно, что значит синхронизация синхронного кода.

Не я это написал, ох не я..
Цитата:

Сообщение от forwardonly2015
Ага, помнится. Не помнится только где это было. Может в прошлой жизни где-то, хз

А что за детские обидки? Молочка с печенюшками с утра не поел?)

forwardonly2015 08.09.2015 12:20

krasovsky,
То есть, синхронизированный асинхронный код для вас === синхронный? ОК

</thread>

nesnayka 08.09.2015 13:00

forwardonly2015, krasovsky

Народ, "об чем" спор?
Человеку, собственно, нужно отправить на сервер только одно значение, там прибавить к нему 15 единичек (судя по предоставленному коду), вычислить, что получится, получить сколько-то результатов в одной json строке и разобрать этот ответ средствами JS.
Спрашивается, "Какая разница, каким ((а)синхронным, "синхронизированным асинхронным" или "разсинхронизированным синхронным") запросом это будет делаться?"

forwardonly2015 08.09.2015 13:14

nesnayka,
Откуда ты знаешь, что ему надо на самом деле? Может он выкатил тестовый пример, а в реальном коде совершенно другое.
Вот простой вариант решения данной задачи
post=function(address, counter){
  with(new XMLHttpRequest){
    open("POST", address)
    send("count="+counter+"&foo=bar")
    onreadystatechange=function(){
      if(status == 200 && readyState == 4) {
       alert(responseText)
       if(counter>5) {alert("end"); return}
       post(address, counter+1)
      }
    }
  }
}

nesnayka 08.09.2015 13:37

Цитата:

Сообщение от forwardonly2015 (Сообщение 387532)
nesnayka,
Откуда ты знаешь, что ему надо на самом деле? Может он выкатил тестовый пример, а в реальном коде совершенно другое.

Ну я же написал, что "судя по предоставленному коду".
Насколько я понимаю, то тестовый пример должен учитывать особенности оригинального кода. Не напишете же вы в вопросе, к примеру, про перебор массива в качестве объекта манипуляций связанный список - они подразумевают принципиально разные подходы.
А если указываете, то должны быть готовы к тому, что свойство связности будет проигнорировано или использовано там, где не нужно (то же и с возможностью прямого доступа к элементам массива) решающим задачу.

Да, слишком переоцененное ожидание от новичков, но пусть учатся получать ответы на те вопросы, которые задают. ))

alexgluker 08.09.2015 15:50

сделай цикл через while с ожиданием success


Часовой пояс GMT +3, время: 07:48.