Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Доступ к свойству объекта


Автор: patap 12.7.2010, 12:58
следующая ситуация

Код

function foo() {
  var baseUrl = 'http://domain.com';
  var recId = 1;
  var res = checkRecOwner(baseUrl, recId);    // как вернуть функцией checkRecOwner() значение mmm.
}

// в этой функции аяксом конектимся к серверу (фреймворк prototype)
// нужно как-то сделать чтобы эта функция возвращала значение mmm, дело в том что там вложенные объекты и не пойму как и что возвращать
// то, что mmm нигде не объявлена - знаю. просто показал что нужно получить
function checkRecOwner(baseUrl, recId) {
  var params = $H({recId:recId}).toQueryString();
  
  new Ajax.Request(
    baseUrl + 'share/checkrecowner', {
      method: 'post',
      parameters: params,
      onSuccess: function(transport) {
        var data = transport.responseText.evalJSON();
        switch (data.status) {
          case 'OWN':
            mmm = 'mess 1';
            break;
          case 'GUEST':
            mmm = 'mess 2';
            break;
          case 'NOTLOG':
            mmm = 'mess 3';
            break;
        }
      }
    }
  );
}

Автор: ksnk 12.7.2010, 13:01
Цитата(patap @  12.7.2010,  12:58 Найти цитируемый пост)
 как вернуть функцией checkRecOwner() значение mmm.

Правильный ответ - никак. Нужно писать callbacк функцию, которая будет вызываться обработчиком успешного завершения и работать с данными там.

Неправильный ответ - использовать синхронный запрос. 

Автор: patap 12.7.2010, 16:20
ksnk,  спасибо за совет, помогло

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)