Разница между Dojo Data и Dojo AJAX - PullRequest
0 голосов
/ 19 ноября 2011

Мне интересно, когда использовать данные dojo и, например, «dojo.data.itemfilereadstore» для получения данных с сервера, и когда вам следует выбрать использование ajax и, например, «dojo.xhrGet» для получения данных с сервера.

Позвольте мне взять в качестве примера мою домашнюю страницу, где я даю своему пользователю обзор предметов.Он может отфильтровать это так, как он может выбирать элементы типа A, типа B или элементы типа A и B.

Должен ли я использовать:

dojo.xhrGet({
    url: "get-items.php", //json result

    load: function(response) {
        showItems(respone.items);
    }
});

ИЛИ dojo.data.itemfilereadstore

1 Ответ

0 голосов
/ 19 ноября 2011

Эти две вещи имеют совершенно разные цели:

dojo.xhr - это транспорт данных - его основное назначение - отправка и получение сообщений с сервера.

dojo.data - это хранилище данных - его основная цель - представить набор элементов данных, поддерживающих такие вещи, как запросы, мониторинг обновлений и т. Д. Тот факт, что некоторые хранилища данных поддерживают непосредственную инициализацию с сервера это просто совпадение. Эти функции предназначены исключительно для удобства.

So

  • Используйте dojo.xhrGet, если вам просто нужно получить данные один раз, а затем покончить с этим.
  • Используйте хранилище данных, если вы хотите использовать дополнительные функции из интерфейса хранилища данных. (например, служа моделью для виджетов Tree или следя за обновлениями в стиле MVC)

Кстати, с версии 1.6 появился новый dojo.store API в качестве более компактной альтернативы dojo.data. Имейте это в виду, когда решаете использовать хранилище данных.

...