Нужен совет по поводу AJAX и Jquery - PullRequest
1 голос
/ 24 августа 2011

У меня есть ситуация, когда у меня есть 3 мультиселекта, скажем, level1, level2 и level3 теперь уровень 2 зависит от опции, выбранной на уровне 1, и аналогично уровень 3 зависит от опции, выбранной на уровне 2 Мой вопрос заключается в том, что лучше получать все данные за один раз, то есть, когда страница загружается, и фильтровать эти данные, используя jquery, в зависимости от параметра, выбранного пользователем ИЛИ я должен сделать запрос на основе ajax в базу данных, чтобы получить данные для следующая множественная выборка каждый раз, когда пользователь выбирает опции. какой подход будет лучше ??

Ответы [ 7 ]

1 голос
/ 24 августа 2011

Я думаю, что вы должны сделать ajax-вызов для извлечения данных из базы данных при каждом выборе.

0 голосов
/ 24 августа 2011

Мой ответ будет, что это зависит от количества отображаемых данных.

Если объем данных на уровне 1, уровне 2, уровне 3 относительно невелик - вы получите выгоду от извлечения всех данных: вы сэкономите нагрузку на сервер, сократив количество запросов. Это заставит вас написать немного JavaScript, но заполнение списков будет молниеносным.

С другой стороны, если в вашем дереве много данных (т. Е. 100 элементов уровня 1, каждый из которых содержит 100 элементов уровня 2, каждый из которых содержит 100 элементов уровня 3), то в итоге вы передадите миллион элементов ( огромные накладные расходы для этого варианта использования), и хорошим решением для этого случая является отдельный вызов AJAX для каждого списка.

0 голосов
/ 24 августа 2011

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

0 голосов
/ 24 августа 2011

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

0 голосов
/ 24 августа 2011

В определенной степени это зависит от того, сколько данных вы говорите.

Для небольших сумм - стоимостью в несколько килобайт - вы должны загрузить все сразу.Реорганизовать его на стороне клиента быстрее, чем ждать, пока AJAX-запрос его обработает, и у вас будет меньше обращений к серверу - особенно если пользователь может щелкать и отправлять несколько AJAX-запросов подряд.

Если у вас есть основное приложение, требующее нескольких МБ данных для одной загрузки, тогда, вероятно, предпочтительнее использовать небольшие AJAX-запросы.Я всегда склонялся бы к одной загрузке и сортировке на стороне клиента.Все, что минимизирует или устраняет задержку, связанную с новым запросом и ответом, является хорошим.

0 голосов
/ 24 августа 2011

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

0 голосов
/ 24 августа 2011

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

Используйте ваши критерии-

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...