Какой максимальный размер данных JSON можно загрузить с помощью Dojo ComboBox / Filtering Select Component? - PullRequest
0 голосов
/ 18 июля 2009

Я разрабатываю форму с использованием Zend Framework и использую dojo. Одна часть формы собирает контактные данные и адрес пользователя. Проблема, с которой я сталкиваюсь, заключается в использовании компонента dojo FilteringSelect или ComboBox для выбора города. В моей базе данных есть список из 40K + названий городов / городов.

Я пытался использовать компонент Dojo, чтобы захватить этот список, но боюсь, что названия городов 40K слишком велики. Я не хочу вручную использовать стандартный html-компонент, поскольку уверен, что весь этот дополнительный текст на странице сделает мою форму кошмарной для загрузки.

Итак, я предполагаю, что мой вопрос состоит из 2 частей:

  1. Какой максимальный размер данных JSON я могу реально использовать, так как ожидаю, что то, что я использую, слишком велико.
  2. Как лучше всего разрешить пользователям выбирать одно из названий городов в форме?

Заранее спасибо.

1 Ответ

0 голосов
/ 19 июля 2009

Youch, это большой список точек данных. Я бы сказал, что это действительно зависит от браузеров и настроек пользователя. И терпимость к ожиданию.

Если вы можете, я бы сказал, чтобы поместить данные в веб-службу и использовать dojox.data.QueryReadStore . На этой странице даже есть пример использования службы для запроса состояний с использованием ComboBox.

<script>
  dojo.require("dojox.data.QueryReadStore");
  dojo.require("dijit.form.ComboBox");
</script>
 ....
<b>Combo lookup of states through QueryReadStore</b><br>
<div dojoType="dojox.data.QueryReadStore" url="/moin_static163/js/dojo/trunk/release/dojo/dojox/data/tests/stores/QueryReadStore.php" jsId="comboStore"></div>
 <div dojoType="dijit.form.ComboBox" store="comboStore" searchAttr="name" pageSize="100"></div>

QueryReadStore.php доступен в SVN, так что вы даже можете посмотреть, что они сделали на стороне сервера.

...