通过使用for循环向服务器询问几个数据库条目,我编写了一段代码,它工作正常,但是:
奇怪的是,这段代码不适用于IE11.对于谷歌浏览器,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 …Run Code Online (Sandbox Code Playgroud)