|
|
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Не могу вынести переменную за запрос! вот запрос Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. хочу вставить результаты Код: javascript 1. 2. 3. 4. 5. 6. ничего не получается когда вызываю переменную в SUCCESS то работает а вот после закрытия } }); если прописать alert(getlat); не работает! как можно сделать переменную глобальной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2013, 22:59 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
Нет, все нормально, ты что-то путаешь, переменные явно не приватные. Возможно, если покажешь больше кода для представления о видимости переменных, что-то поменяется. Но поэтому коду все пучком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 00:07 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, Нет, думаю не пучком )). Автор хочет использовать переменную не после вызова success, а именно физически прописать использование переменной после кода функции. Автору: Есть 3 варианта обращения к принятой переменной: 1. Внутри функции success, тогда вы получаете гарантию, что код будет отработан после получения переменной 2. Сделать синхронный запрос вместо асинхронного. 3. Дождаться получения переменной (спомощью таймера например. Но смысла в этом нету, лучше тогда success) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 00:43 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
Кто-то из нас слепой ... Переменные объявлены глобально (и имеют значения undеfined). После запроса в обработчике success переопределяет их. В чем проблема их использования? Допускаю, что они не глобальные, а определены внутри функции. Допускаю, что не вызывается success, а, скажем, error, тогда они не переопределяются. Допускаю, что происходит сбой и не доходит до их переопределения. Поэтому рекомендую опубликовать код со структурой, чтобы можно было разобраться. Представленного кода явно мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 02:16 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
IDVsbruckКто-то из нас слепой ... Переменные объявлены глобально (и имеют значения undеfined). После запроса в обработчике success переопределяет их. В чем проблема их использования? Допускаю, что они не глобальные, а определены внутри функции. Допускаю, что не вызывается success, а, скажем, error, тогда они не переопределяются. Допускаю, что происходит сбой и не доходит до их переопределения. Поэтому рекомендую опубликовать код со структурой, чтобы можно было разобраться. Представленного кода явно мало. Вы меня наверное неверно поняли... Что я хотел сказать, так это то, что автор нарушает последовательность действий (других причин не вижу). То есть при выполнении скрипта происходит что-то подобное: 1. Определить обработчик ответа сервера (success) 2. Отправить запрос 3. Попробовать использовать переменную, которая переопределяется в обработчике ответа (и получить undefined например) 4. Получить ответ сервера и вызвать обработчик переопределяющий переменные. То есть автор вынося использование переменных за обработчик меняет последовательность действий на неправильный. Хотя согласен, лучше если автор предоставит весь код касающийся данной ситуации, так как сейчас он получает только самые вероятные догадки. А с кодом можно получить чёткий ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 07:55 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, спасибо за обсуждение! Вот собственно код! index.php Код: html 1. fom.js Код: 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. getdata.php Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 09:39 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
glob_js, всё понятно... перечитайте мои ответы... они верны :)... Думаю более подробное объяснение не потребуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:10 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
Програмёрglob_js, всё понятно... перечитайте мои ответы... они верны :)... Думаю более подробное объяснение не потребуется. Извините но я многое перепробывал вообще не могу врубиться! в sucess же я получаю переменную которую я хочу! и заношу её в глобальную! а вы нести за рамки не могу! я даже уже не знаю что и как переделать! вся последовательность действий правильная как видите получаю дынные! заношу данные! но за пределы просто не хочет выносить! Напишите пожалуйста пример как можно это сделать! Да понимаю нагло вас об этом просить но просто время поджимает ! а я уже не знаю что тут ещё можно вправить! весь код вы видите сами! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:18 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
меня всё равно интерисует тот вариант но вот решил сделать так! $.ajax({ type: 'POST', cache: false, url: 'getdata.php', dataType: 'json', data: 'glob=1', traditional: true, success: function(data1) { getlat = data1.lat; getlng = data1.lng; getzoom = data1.zoom; var centerCoord = new google.maps.LatLng(getlat, getlng); var mapOptions = { zoom: 7, center: centerCoord, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map"), mapOptions); } }); попали коориднаты и заработало но проблема возникла теперь с zoom: 7, когда пытаюсь вписать zoom: getzoom, то скрипт не срабатывает! карта не появляется! там нудно как то специфически вызвать эту переменную или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:28 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
СНОВА ИЗВИНЯЮСЬ ПОСЛЕДНЕЕ СООБЩЕНИЕ НЕ НУЖНОЕ ДРУГИЕ ФУНКЦИИ ПОТОМ ИЗ ЗА ТАКОВО ВИДА ПРОПИСИ ДАННЫХ НЕ СРАБОТАЛИ! ВЕРНУЛСЯ К ТОМУ ЖЕ КОДУ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:33 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
Програмёр правильно написал, ну, почти что. Сюксес у Вас вызывается асинхронно, поэтому присваивание в нём глобальной переменной - не прокатит. Программа-то выполняется синхронно - степ бай степ. Поэтому обрабатывайте её значение внутри сюксеса, или оттулова вызывайте свою функцию обработки результата запроса. Судя по коду, присваивание происходит, когда результатом аякс-запроса и не пахнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:35 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
у вас ajax асинхронный . дефолт == true ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:35 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
только хотел отписать! Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. добавил строку async: false заработало! НО!!! конечно же без подлянки не бывает хочу внести данные в zoom: getzoom , но ничего программа стоит! просто вызываю алертом! всё показывает значени! но когда хочу занести вот сюда Код: javascript 1. 2. 3. 4. 5. то ничего не получается ! может проблема в том что в var mapOptions внутри ещё появляется пердопределённый var getzoom? не хочет принимать переменную ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:42 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
P.S. проверил одну штуку если прописать просто вот так от руки Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. то работает! нужно ли тогда как то обработать чтоли getzoom???? а то эту переменную берёт а вот getzoom не хочут! хотя значение там такое же - 7! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:50 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
авторно просто время поджимает авторэту переменную берёт а вот getzoom не хочут смени имя и не парься ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 10:57 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
зы: предыдущий пост в том случае если так не работает Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:00 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
мимо ходомавторно просто время поджимает авторэту переменную берёт а вот getzoom не хочет смени имя и не парься ) Вы про что? ну если про имя переменной то менял даже вот так сделал как то тупо var gett = getzoom; и Код: javascript 1. 2. 3. 4. 5. и никакого эффекта! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:00 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
мимо ходомзы: предыдущий пост в том случае если так не работает Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. Так как вы написали это ручной ввод! А мне нужно чтобы через переменную! т.к. значение zoom меняется с админ панеля оно не всегда 7 будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:02 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
ShSergeПрограмёр правильно написал, ну, почти что. Сюксес у Вас вызывается асинхронно, поэтому присваивание в нём глобальной переменной - не прокатит. Программа-то выполняется синхронно - степ бай степ. Поэтому обрабатывайте её значение внутри сюксеса, или оттулова вызывайте свою функцию обработки результата запроса. Судя по коду, присваивание происходит, когда результатом аякс-запроса и не пахнет. а почему почти? по-моему Вы сейчас повторили то же, что и я, только сформулировали иначе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:06 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
ПрограмёрShSergeПрограмёр правильно написал, ну, почти что. Сюксес у Вас вызывается асинхронно, поэтому присваивание в нём глобальной переменной - не прокатит. Программа-то выполняется синхронно - степ бай степ. Поэтому обрабатывайте её значение внутри сюксеса, или оттулова вызывайте свою функцию обработки результата запроса. Судя по коду, присваивание происходит, когда результатом аякс-запроса и не пахнет. а почему почти? по-моему Вы сейчас повторили то же, что и я, только сформулировали иначе Ну да) Вот только помоги докопаться до проблемы с переменной getzoom почему она не хочет срабатывать в том месте! а объявляя другую переменную и вручную вводить значение то эту переменную берёт!) как то отформатировать надо её или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:09 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
glob_js, А что, если попробовать написать alert(getzoom); внутри success и за его пределами? 1. Значения одинаковые undefined - Вы не получили значение с сервера (смотреть есть ли этот атрибут в принимаемом объекте. 2. Значения разные (в success то что надо, за пределами undefined) - очень мало вероятно... Если так - надо видеть больше кода :) 3. Значения одинаковые не undefined - Вы явно где-то опечатались (если вы показали цельный участок кода и ничего не вырезали из середины). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:14 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
glob_js...вручную вводить значение то эту переменную берёт!)... Дык, ясен перец. Кстати, если Вы бы поставили в своём первоначальном коде не один алерт, а два - на втором арерте у Вас тоже бы всё сработало. Вопрос: почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:16 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
и внутри и вне запроса alert(getzoom); выводит значение! прямо даже если перед Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. вот выскакивает окошко со значением! а вот внизу когда значение хочу установить уже!!!! то всё ничего не срабатывает! zoom: getzoom, видимо не получает значение а алерт показывает что оно есть! странное какое то дело! и да ShSerge интересен ответ на вопрос твой)))) ПОчему?!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:21 |
|
||
|
Глобальная переменная в запросе ajax+json!вне запроса!
|
|||
|---|---|---|---|
|
#18+
glob_jsи внутри и вне запроса alert(getzoom); выводит значение! прямо даже если перед Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. вот выскакивает окошко со значением! а вот внизу когда значение хочу установить уже!!!! то всё ничего не срабатывает! zoom: getzoom, видимо не получает значение а алерт показывает что оно есть! странное какое то дело! и да ShSerge интересен ответ на вопрос твой)))) ПОчему?!) Ответ на вопрос "почему?" очевиден... пока бы Вы сообразили что alert выскочил, пока бы навели мышку что бы его закрыть, пока бы клацнули и тд.... сервер бы уже давно ответил на запрос, браузер бы его принял и только ждал бы продолжения выполнения кода :). Но вот как это связано со вторым вопросом (про getzoom) мне не понятно... если можно, ShSerge, поясните:) glob_js, уверены, что значение, которое показывает alert допустимо для записи в mapOptions.zoom? Там точно число... и точно из допустимого диапазона? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2013, 11:26 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38323137&tid=1448142]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 528ms |

| 0 / 0 |
