Я вызываю функцию от АЯКСА успеха и пытается вернуть значение из функцииВозврата из функции не работает в JavaScript
Аякса успех
success: function(data)
{
var distance_arr;
data = JSON.parse(data);
for (var i = 0; i < data.length; i++)
{
if(data[i].port_name != destination)
{
distance_arr = get_port_distance(data[i].port_name,source,type);
alert(distance_arr);
}
}
}
В get_port_distance функции Я возвращаю значение, как
return distance;
путем вычисления расстояния в функции get_port_distance. Когда я начеку расстояние в get_port_distance то это правильно, но когда я вернуть его Это предупредит пробел в АЯКС функция успеха
function get_port_distance(source,destination,type)
{
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var request =
{
origin: source,
destination: destination,
travelMode: google.maps.TravelMode.DRIVING
};
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [source],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, function (response, status) {
if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
var port_distance = response.rows[0].elements[0].distance.text;
port_distance = port_distance.replace(/\,/g,'').replace(' km',''); // To REMOVE comma(,)
return port_distance;
}
});
}
Вы также можете поделиться кодом для get_port_distance. – Sumit
Ваше условие цикла может указывать пустое значение. , вам может потребоваться разбить цикл, когда вы получите значение расстояния от функции – Afsar
Если вы считаете, что проблема в 'get_port_distance', вы должны отправить ее – RizkiDPrast