Обработка данных от возврата по запросу ajax, но вне функции обратного вызова - PullRequest
0 голосов
/ 15 апреля 2011

У меня есть этот код.

/*
   Get the source of the data.
*/

if (if_the_source_is_an_url) {

  $.getJSON(url_here, function(returnedData){ theData = returnedData; });

}

/*
   Here we have the default processing of theData.
*/

Так что мне нужно, чтобы, если пользователь предоставил URL-адрес, восстановленные данные будут обрабатываться, но вне функции обратного вызова, потому что мне нужно повторно использовать код обработки данных. Итак, я пришел с этой идеей.

  • Используйте команду break $.getJSON(url_here, function(returnedData){ theData = returnedData; break;});
  • Изменить на $ .ajax-запрос, но с async: false
  • просто поместите обработку данных в функция и вызвать его из
    функция обратного вызова.

    if (url) $.getJSON(url_here, function(returnedData){ customFunction(returnedData); }); else customFunction(defaultData);

Любые идеи, если это будет работать (я не проверял, потому что я не дома), или есть лучшие методы для этого?

1 Ответ

1 голос
/ 15 апреля 2011

Присоедините обработчики / функции, используя jQuery.ajaxComplete для фильтрации / преобразования / и т. Д. Ваших данных.Дескрипторы вашего вложения здесь будут вызываться для всех ваших запросов ajax

...