Минимизация доступа к серверу с тяжелой веб-страницей JavaScript

0

Я работал над веб-страницей, которая имеет бэкэнд PHP для доступа к базе данных и создания базового HTML-страницы. После загрузки все пользовательское взаимодействие контролируется javascript.

Чтобы связаться с сервером, я использую традиционный почтовый метод:

jQuery.ajax({
   type: 'POST',
   url: ajaxurl,
   data: postdata,
   success: function(data) {
      // PHP returns data
   }
});

Однако в тот момент, когда я начинаю общаться с сервером с помощью этого метода, я создаю отставание в пользовательском интерфейсе, и пользовательский опыт страдает, особенно если у них медленное соединение. У меня есть обычные загрузочные gif-ролики и индикаторы выполнения, где это необходимо, но я хочу, чтобы пользовательский интерфейс был как можно быстрее.

Основная причина, по которой я возвращаюсь на сервер, - захватить информацию из базы данных. Мне было интересно, есть ли способы удалить это?

1) Загрузите данные базы данных и получите доступ к ней непосредственно в Javascript? Полностью удалить, чтобы перейти на сервер для получения данных. Это возможно? Есть ли для этого библиотеки?

2) В общем, существуют ли более эффективные способы извлечения данных с сервера, чем использование метода post?

  • 0
    Все дело в том, когда байты передаются так, как они должны каким-то образом туда попасть :) Обычно загрузка одной страницы данных происходит относительно быстро, но не в том случае, если у вас медленное соединение или медленный сервер / база данных. Если вы загрузите всю базу данных как часть исходной страницы, вся ваша страница будет долго загружаться, но последующие операции будут выполняться быстрее. Вместо этого вы можете заполнить загруженную страницу только первой страницей данных из базы данных и позволить Ajax позаботиться о последующих страницах. Эффективность передачи снижается до количества сдвинутых байтов (и сжатия, если включено).
  • 0
    Некоторые форматы более компактны, чем другие (Binary лучше, чем JSON, который лучше, чем XML, который лучше, чем HTML и т. Д.). С JSON просто работать в jquery / javascript, поэтому он обычно используется.
Показать ещё 2 комментария
Теги:

1 ответ

0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню