@delongeroman

Как сохранить данные в переменную в ajax запросе с циклом?

Добрый день.
Как мне сохранить данные из ajax запроса для их дальнейшего использования?
var out = ''
for(...){
     $.ajax({
           url: url,
           data: {
                 'id': i,   
                  },
          success: function(data){
                        out += data;
                        }
             })
}
  • Вопрос задан
  • 138 просмотров
Решения вопроса 2
Seasle
@Seasle Куратор тега JavaScript
- var out = ''
+ const responses = [];

- out += data;
+ responses.push(data);

Или будет более четкое представление, что Вы хотите делать с данными?
Ответ написан
zkrvndm
@zkrvndm
Архитектор решений
Используйте асинхронность. Если добавить к функции приставку async, то внутри такой функции можно делать остановки для того, чтобы дождаться результатов работы другой асинхроной функции. jQuery функция ajax, может работать асинхронно, а значит можно сделать банально вот так:
async function test() {
	var out = ''
	for (var n = 0; n < links.length; n++) {
		var result = await $.ajax({ url: links[n], data: { 'id': 1 } });
		// И далее делаем что-нибудь с result, внутри него будет результат запроса
	}
}

test(); // Запускаем функцию test

Обращаю внимание, это просто пример. Приставка await говорит, что надо дождутся выполнения запроса справа, записать результат запроса в переменную result и только потом продолжить выполнять кода дальше.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы