Переменные внутри функции успеха в $.AJAX

187
28 октября 2018, 21:30

Сразу к делу.

for (i=0;i < engol; i++){
title = $('.engine-go[data-index='+i+']>h2').html();
engineGo = $('.engine-go[data-index='+i+']').html();
console.log(title);console.log(engineGo);
$.ajax({
url: 'handler.php',
type: 'post',
dataType: 'html',
data: {
    query: 'engineInfo',
    title: title
},
success: function (data){
    console.log(title);console.log(engineGo);
}
})
}

@@@@@@@@@@@@@@@@@@@@@@@@@@

console.log(title);console.log(engineGo);

Этот кусок кода работает, как должен, только в верхней части кода, на 5 строке. А внутри результирующей функции $.ajax выводит в консоль только последнее значение из массива, проработанное в цикле. Если в массиве 14 элементов, наверху он выдаст все 14 разных элементов(как и надо), а внутри функции выдаст 14 одинаковых(последнее значение). Пробовал вынести функцию выше, не делая ее анонимное. Пробовал создавать еще 1 цикл внутри этой функции (значения даются разные, но их 14х14 = 196). Много чего еще пробовал, все без адекватного результата.

Подскажите пожалуйста, как вызвать нужный мне элемент внутри результирующей функции $.ajax. Иначе просто не вставить нужное значение из базы.

Благодарю заранее.

Answer 1

Решение: параметр $.ajax - async:false.

Answer 2

var engol = 3; 
for (var i = 0; i < engol; i++) { 
  let title = "Title " + i; 
  console.log("In loop:", title); 
 
  setTimeout(function() { 
    console.log("In success:", title); 
  }, 200); 
}

READ ALSO
Обновление содержимого элемента jquery

Обновление содержимого элемента jquery

меняю содержимое внутри тэга, где присутствует кнопкаКнопка генерирует новое содержимое для тега

177
Как кешировать ajax запросы?

Как кешировать ajax запросы?

Понимаю что много подобных вопросов, но мало внятных ответовЕсть подобие чата, сообщения в котором обновляются каждые 100 милисекунд, естественно...

174
Selenium с использованием с#(цикл)

Selenium с использованием с#(цикл)

нужно из спана взять значение и вставить в цикл, подскажите нубу что не такКак преобразовать из IWebElement в int

151
Где расположить вложенный класс в C#?

Где расположить вложенный класс в C#?

Для каждого класса нужно создавать отдельный файлА что со вложенными классами? Нужно ли для них создавать отдельный файл (и можно ли вообще...

293