С помощью для цикла попросить сервер для нескольких записей базы данных, я написал кусок кода, который работает хорошо, надлежащее НО:
волшебно этот кусок код не работает на IE11. Для Google Chrome, Firefox, Safari, ..., он отлично работает. Но, к сожалению, мне нужно использовать IE11. Код не дает ошибки, но данных, возвращаемых с сервера, нет. Был передан только последний элемент в for-loop.
Используя средство представления сетевых подключений IE, можно увидеть, что все запросы были отправлены обратно, но как-то только последний уже есть. Mabye кто-то уже эту проблему и может дать мне несколько советов ...
function getData(setAddress_Event, liter_hour, Fluid_id, dateArray){
return $.getJSON(setAddress_Event + liter_hour + Fluid_id + "/" + dateArray).then(function(data){
return {
data_list:data
};
});
}
//get day2day data
var numPendingResults = dateArray.length;
//new var declaration --> "let" is only valid inside the for loop!!
for(let j = 0; j<dateArray.length; j++)
{
getData(setAddress_Event(), "liter_hour/", Fluid_id, dateArray[j]).then(function(returndata){
//received data!
data_collection[j] = returndata;
numPendingResults--; // one less to wait for!
if (!numPendingResults) { // we have everything!
//console.log(data_collection);
//function call which sends the data forward
dataReady(data_collection, data_limit);
}
функция dataReady, должна обрабатывать полученные данные, но как-то с помощью IE11, только последний запрос из цикла есть! Поэтому я решил открыть новый ВОПРОС. Может быть, есть один гений, который может дать мне несколько советов ...
* «Волшебно, этот кусок кода не работает на IE» * - Я думаю, что каждый веб-разработчик имеет говорил эти слова хотя бы один раз ... :( –
Macintoshilly :) –