У меня есть вызов ajax нескольким различным службам. Я знаю, что мой массив var log
перезаписывается каждым последующим вызовом, но я не могу понять, как изменить логику, чтобы добавить следующий массив вместо перезаписи.jquery ajax loop только возвращает последнее значение
$.ajax($.extend({}, ajaxDefaults, source, {
data: data,
success: function(events) {
events = events || [];
var res = applyAll(success, this, arguments);
if ($.isArray(res)) {
events = res;
}
callback(events);
var log = log || [];
for (var i=0; i<events.length; i++) {
log.push(events[i]);
}
console.log(log);
},
error: function() {
applyAll(error, this, arguments);
callback();
},
complete: function(events) {
applyAll(complete, this, arguments);
popLoading();
}
}));
да бревно вар = войти || []; каждый раз создает новый объект –
спасибо! В этом есть смысл. Я думал, что var log = log || []; создаст новый журнал, если журнал не был определен. – byrdr
Использование глобальной переменной: log = log || []; Это просто, когда вы обновляете переменную с помощью «var log», которую вы переписываете. –