13 / 13 / 24
Регистрация: 13.03.2013
Сообщений: 103
1

Возврат результат из функции

06.05.2013, 20:13. Показов 2828. Ответов 3
Метки нет (Все метки)

На вход процедуры подаю ширину и долготу, но не могу понять как вернуть результат этот функции в основной блок программы, пробовала в блоке условия return, но ничего не выводится, как мне возвратить результат из функции?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<javascript>
function codeLatLng(a,b) {
    var ansv;
  $( function() {
var data = { lat:a, format:"json", lon:b };
$.get( "http://open.mapquestapi.com/nominatim/v1/reverse.php", data, success, "json" );
 
function success( geocodData ) {
var geo=geocodData.display_name;
if (geo != undefined) {
ansv = geo;
}
}
} );
  }</javascript>
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2013, 20:13
Ответы с готовыми решениями:

Возврат responseText из XMLHttpRequest aka AJAX как результат работы функции
Вот как бы обычный Ajax запрос, на чистом JS. function ajax() { var xhr = new...

Результат колбэка вернуть как результат функции
Добрый день, подскажите плииииз, такое в принципе возможно? (потери в продуктивности не важны) ...

Возврат 2 значений из функции с одним вызовом этой же функции
Вообщем где то в какой то игре была хукнута одна функция int function(int arg1,int arg2,int...

Возврат функции
Не могу сообразить как в этом коде Страуструпа указать возврат функции return, чтобы выполнились...

3
1449 / 357 / 61
Регистрация: 03.04.2010
Сообщений: 2,098
06.05.2013, 21:24 2
Вы используете асинхронный Ajax запрос. Функция success может начать выполнение даже тогда, когда функция codeLatLng, уже завершит выполнение. По этому либо сделайте глобальную переменную, в которую будет записаны данные, либо же сделайте сразу вывод через функцию success.
1
13 / 13 / 24
Регистрация: 13.03.2013
Сообщений: 103
06.05.2013, 22:46  [ТС] 3
Цитата Сообщение от Vlad_IT Посмотреть сообщение
Вы используете асинхронный Ajax запрос. Функция success может начать выполнение даже тогда, когда функция codeLatLng, уже завершит выполнение. По этому либо сделайте глобальную переменную, в которую будет записаны данные, либо же сделайте сразу вывод через функцию success.
Сразу вывод в success я использовала, но мне нужно записать все элементы в массив и сравнить, попробовала с глобальной переменной, но не вышло, может что-то не то делаю?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<html>
<head>
<title>Геокодирование</title>
</head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
var direct;
 
function to(a,b){
    var sdirect;
var data = { lat:a, format:"json", lon:b };
$.get( "http://open.mapquestapi.com/nominatim/v1/reverse.php", data, success, "json" );
function success( geocodData ) {
var geo=geocodData.display_name;
if (geo != undefined) {
direct = geo;
}
}
} 
 function checkArgs () {
var a =54.97916000000001;
var b =39.00051000000008;
var mas = new Array(2);
to(a,b);
mas[0]=direct;
alert(mas[0]);
}
</script>
</head>
<body>
<button id="getGeocod" onclick="checkArgs()">Геокодирование</button>
</body>
</html>
0
1449 / 357 / 61
Регистрация: 03.04.2010
Сообщений: 2,098
07.05.2013, 20:50 4
Опять не правильно. Вы выводите данные, до того как они были получены. Вот так верно.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
    <head>
        <title>Геокодирование</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script>
            function to(a,b)
            {
                var sdirect = "";
                var data = { lat:a, format:"json", lon:b };
 
                function success(geocodData) 
                {
                    var geo=geocodData.display_name;
                    if (geo != undefined) 
                    {
                        var mas = new Array(2);
                        mas[0]=geo;
                        alert(mas[0]);
                    }
                }
 
                $.get( "http://open.mapquestapi.com/nominatim/v1/reverse.php", data, success, "json" );
 
            }
             
            function checkArgs () 
            {
                var a =54.97916000000001;
                var b =39.00051000000008;
                var mas = new Array(2);
                to(a,b);
            }
        </script>
    </head>
    <body>
        <button id="getGeocod" onclick="checkArgs()">Геокодирование</button>
    </body>
</html>
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2013, 20:50

возврат функции
Здравствуйте. Мне нужно, чтобы при выборе функции с помощью radiobutton, она была именно как...

Возврат функции
Всем доброго времени суток! Пишу трейд-бота для стима( принимает вещи и отдает их в автоматическом...

Возврат вектора из функции
Как вывести вектор из функции через адреса или указатели? Можно и внутри вектор создать, его...

Возврат переменной из функции.
Мне необходимо результат работы одной функции передать другой, итог вывести в браузер. Я попытался...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.