javascript - 如何在 IE 中访问 JQuery Succes/Done 函数中的数组?
问题描述
我有一个函数,我通过一个数组来获取我们位置的距离。从那个调用返回后,我想用这个新的距离值更新原始数组。它适用于除 IE 之外的所有浏览器(在 IE11 上测试)。看来该数组被认为是未定义的。
错误:无法设置未定义或空引用的属性“LocationDistance”
LocationsArr
确实存在,我可以在外部函数中从中提取/查看值,但不能在调用的success:
函数中$.ajax
。
任何帮助将不胜感激!
function getLocationDistance() {
let origin = UserLatitude + "," + UserLongitude
let l = 0
let distance = 0
for (let i = 0; i < LocationsArr.length; i++) {
let data = {
ak: "XXXXXXXXXXXX",
origin: origin,
ID: LocationsArr[i].LocationID,
destination: LocationsArr[i].LocationDestination
};
$.ajax({
type: 'GET',
url: "https://www.kaleidahealth.org/GoogleAPIServices/DistanceMatrix.svc/GetTripInfo",
data: data,
cache: false,
dataType: "jsonp",
success: function(result) {
distance = result.distance.replace(" miles", "")
// IE CAN'T SEE LocationsArr ARRAY - ALL OTHER BROWSERS CAN
LocationsArr[i].LocationDistance = distance;
l++;
if (l === i) {
buildLocationList();
}
},
error: function(err) {
alert("ERROR: " + JSON.stringify(err))
}
})
}
}