Помогите считать значение переменной за пределами функции
Здравствуйте, большая просьба помочь понять как передать значение переменных la и lo из функции в массив co
Дело в том, что переменные clLa и clLo в массиве co оказываются пустыми при проверке обработчиком obrabotchik.php Ниже скрипт: $(function () { var la = ''; var lo = ''; if(navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { var la = position.coords.latitude; var lo = position.coords.longitude; }); } var client = new BibliotekaJS(); var co = { // ....... uuuurAgent: client.getUserAgent(), clLa: la, clLo: lo, }; $.post('obrabotchik.php', co); }); |
mxup,
строка 8-9 убери var |
Цитата:
Если алертом, ну например в 10 строке вызывать значение, то окошко с этими значениями появляется, то есть переменным значение присваивается. Про JavaScript читал, про глобальные и локальные переменные. Но в моём примере почему то не прокатывает это всё. Я вот думаю может из-за Jquery надо как то по другому немного делать? |
Функция, которая передается в navigator.geolocation.getCurrentPosition вызывается не мгновенно, а спустя некоторое время (т. е. тогда, когда GPS координаты будут определены). Вы сами правильно написали, что в 10 строчке координаты доступны, потому что функция вызвана после того, как координаты определились.
То , что у вас с 15 по 23 строку, надо вставить в 10 стоку, ведь именно там соответствующие данные уже есть. |
Цитата:
|
Часовой пояс GMT +3, время: 13:57. |