Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.07.2011, 12:16
Новичок на форуме
Отправить личное сообщение для proctoleha Посмотреть профиль Найти все сообщения от proctoleha
 
Регистрация: 24.08.2010
Сообщений: 6

Туплю с $.get();
Сабж:

1. На сервере есть переменные
Код:
$big = 100;
$medium = 50;
$small = 25;
Они в conf.php и могут меняться.
Мне их нужно передать в js и на нужной странице объявить как глобальные

2. Самый простой вариант: на нужной странице прописать:
<script type="text/javascript">
    var big = <?= $big ?>;
    var medium = <?= $medium ?>;
    var small = <?= $small ?>;
</script>

И все работает.

3. Тренируюсь с jquery и хотелось бы сделать поизящнее что-ли
при загрузке нужной страницы запросить сервер методом $.get, получить ответ в виде
Код:
{"big":100,"medium":50,"small":25}
, и забить полученные данные в глобальную переменную, чтобы можно было использовать ee в другой функции, т.е. эти действия должны выполниться один раз при загрузке страницы.

4. Если сделать так:
var v = $.get(path, {price : ''});
console.log(v);
, то в firebug'e получаем



Т.е. я получаю объект, и если по нему в firebug'e щелкнуть, то
Код:
readyState 	4	
responseText	"{"big":100,"medium":50,"small":25}"	
status	200	
statusText 	    "success"
Т.е. одно из свойств полученного объекта responseText с нужной мне строкой.

Вопрос: как мне вытащить эти значения?

Если обратиться тупо:
Код:
v.responseText
то получаем undefind

Где я косячу и чего не понимаю?
Ответить с цитированием
  #2 (permalink)  
Старый 14.07.2011, 12:27
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

ajax ответ в виде булева значения
Ответить с цитированием
  #3 (permalink)  
Старый 14.07.2011, 13:34
Новичок на форуме
Отправить личное сообщение для proctoleha Посмотреть профиль Найти все сообщения от proctoleha
 
Регистрация: 24.08.2010
Сообщений: 6

Сообщение от ваый
ajax ответ в виде булева значения
При чем тут этот топик?

Мне нужна строка, а не ответ сервера в виде булева значения.

Задача то вроде формулируется просто:

Запросить методом аякс сервер, полученный ответ забить в глобальную переменную, чтобы можно было использовать ее в других функциях. ВСЕ! Делать мне ничего не надо, только один раз получить ответ и использовать его в дальнейшем.
Ответить с цитированием
  #4 (permalink)  
Старый 14.07.2011, 13:53
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$.get(path, {price : ''}, function(data) {
   v = data;
});
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 14.07.2011, 13:56
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от proctoleha Посмотреть сообщение
При чем тут этот топик?
Мне нужна строка, а не ответ сервера в виде булева значения.
притом, что в этой теме ответ на твой вопрос, блин
Ответить с цитированием
  #6 (permalink)  
Старый 14.07.2011, 13:56
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

хоть бы удосужился перейти по ссылке, если уж сам решить такую тривиальную задачу не в состоянии
Ответить с цитированием
  #7 (permalink)  
Старый 14.07.2011, 14:16
Новичок на форуме
Отправить личное сообщение для proctoleha Посмотреть профиль Найти все сообщения от proctoleha
 
Регистрация: 24.08.2010
Сообщений: 6

Сообщение от walik
v = data;
переменная v объявлена внутри метода $.get и если я извне обращусь к ней то

$.ajax({
        url : path,
        data : {price : ''},
        dataType: 'json',
        success: function(data){
        v = data;
        }
    });
    
    console.log(v);




Сообщение от ваый
хоть бы удосужился перейти по ссылке, если уж сам решить такую тривиальную задачу не в состоянии
Внимательно изучил и даже понял о чем речь - опять же там вызывается метод $.ajax и при получении успешного ответа производятся определенные действия с объектами внутри этой функции.

Мне же нужно нечто другое и очень простое. В том то и дело, что не вижу какой то ерунды - зациклился типа

Последний раз редактировалось proctoleha, 14.07.2011 в 14:21.
Ответить с цитированием
  #8 (permalink)  
Старый 14.07.2011, 14:31
Новичок на форуме
Отправить личное сообщение для proctoleha Посмотреть профиль Найти все сообщения от proctoleha
 
Регистрация: 24.08.2010
Сообщений: 6

Я могу конечно делать нужные мне действия внутри $.ajax'a, но это значить что каждый раз юзер щелкая мышкой будет вызывать этот метод, получать данные с сервера и использовать их.

Но вроде как это не кошерно - зачем 20 раз использовать (вызывать) функцию, если данные не меняются, и достаточно получить их один раз?
Ответить с цитированием
  #9 (permalink)  
Старый 14.07.2011, 14:44
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

ок, это я туплю, сорри
выше корректный ответ от walik
Ответить с цитированием
  #10 (permalink)  
Старый 14.07.2011, 15:06
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от proctoleha
переменная v объявлена внутри метода $.get и если я извне обращусь
А что мешает использовать глобальные переменные ?
window['v'] = data;
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите, все очень просто но что туплю betonka Events/DOM/Window 4 14.07.2011 13:08
Метод $.get в jquery Vahe jQuery 10 22.05.2011 13:32
проблема с jquery $.get zverko jQuery 10 31.03.2011 22:40
$.get() & URL encode Gero jQuery 2 04.02.2011 09:15
Туплю. Сумма элементов. lolka84 Элементы интерфейса 7 27.10.2010 13:52