Правильный ответ зависит от Ваших приоритетов и размера набора данных, который будет разбит на страницы.
Серверное разбиение на страницы является лучшим для:
, является лучшей для:
Поэтому, если Вы разбиваете на страницы по, прежде всего, косметическим причинам, имеет больше смысла обрабатывать его сторона клиента. И если Вы разбиваете на страницы для сокращения начального времени загрузки, сторона сервера является очевидным выбором.
, Конечно, преимущество стороны клиента на последующем времени загрузки страницы уменьшается при использовании Ajax для загрузки последующих страниц.
Даже с небольшими размерами данных лучшим выбором было бы серверное разбиение на страницы. Вы не должны будете волноваться позже, масштабируется ли Ваше веб-приложение далее.
И для больших размеров данных ответ очевиден.
Выполнение его на стороне клиента заставит Вашего пользователя загрузить все данные сначала, которые не могли бы быть необходимы и удалят основное преимущество разбиения на страницы.
лучший способ сделать так для такого вида приложений Ajax состоит в том, чтобы выполнить вызов Ajax сервер для следующей страницы и добавить, обновляют текущую страницу с помощью клиентского сценария.
Если у Вас есть большие страницы и большое количество страниц, Вы лучше из запроса страниц в блоках с сервера через Ajax. Так позвольте серверу сделать разбиение на страницы, базирующееся Вашего URL запроса.
можно также выбрать с упреждением следующие несколько страниц, которые пользователь, вероятно, просмотрит, чтобы заставить интерфейс казаться более быстро реагирующим.
, Если существует только немного страниц, захватывая все это заранее и разбивающий на страницы на клиенте, может быть лучший выбор.
Сторона сервера - отправляет клиенту как раз достаточно содержания для текущего представления.
Вы подразумеваете, что Ваш JavaScript имеет все данные в памяти и показывает одну страницу во время? Или это, это загружает каждую страницу с сервера, поскольку это необходимо, с помощью Ajax?
, Если это - последний, Вы также, возможно, должны думать о сортировке. При сортировке использования JavaScript Вы только будете в состоянии отсортировать одну страницу за один раз, которая не имеет большого количества смысла. Таким образом, Ваша сортировка должна быть сделана на сервере.
В практическом мире пределов я разбил бы на страницы на стороне сервера для сохранения всех ресурсов, связанных с отправкой данных. Кроме того, сервер должен защитить себя от злонамеренного клиентского выяснения / клиентского выяснения неправильного функционирования для страницы HUGE.
, Как только тот код счастливо двигается с пыхтением вперед, я добавил бы "ум" к клиенту, чтобы получить "следующую" и "предыдущую" страницу и содержать это в памяти. Когда пользовательские страницы к следующей странице, обновите свой кэш.
, Если клиентское программное обеспечение делает этот вид кэширования страницы, действительно рассмотрите, как быстро Ваши возрасты данных (вероятно, изменится), и если необходимо проверить, что кэшируемая страница данных все еще допустима. Возможно, повторно запросите его, если это стареет больше чем 2 минуты. Возможно, имейте "грязный" флаг в нем. Что-то как этот. Надеюсь, что Вы находите это полезным.:)
Я предпочитаю серверное разбиение на страницы. Однако при реализации его, необходимо удостовериться, что Вы оптимизируете свой SQL правильно. Например, я верю в MySQL, если Вы используете опцию LIMIT, это не использует индекс, таким образом, необходимо переписать sql для использования индекса правильно.
G-человек