Я работал над веб-страницей, которая имеет бэкэнд PHP для доступа к базе данных и создания базового HTML-страницы. После загрузки все пользовательское взаимодействие контролируется javascript.
Чтобы связаться с сервером, я использую традиционный почтовый метод:
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: postdata,
success: function(data) {
// PHP returns data
}
});
Однако в тот момент, когда я начинаю общаться с сервером с помощью этого метода, я создаю отставание в пользовательском интерфейсе, и пользовательский опыт страдает, особенно если у них медленное соединение. У меня есть обычные загрузочные gif-ролики и индикаторы выполнения, где это необходимо, но я хочу, чтобы пользовательский интерфейс был как можно быстрее.
Основная причина, по которой я возвращаюсь на сервер, - захватить информацию из базы данных. Мне было интересно, есть ли способы удалить это?
1) Загрузите данные базы данных и получите доступ к ней непосредственно в Javascript? Полностью удалить, чтобы перейти на сервер для получения данных. Это возможно? Есть ли для этого библиотеки?
2) В общем, существуют ли более эффективные способы извлечения данных с сервера, чем использование метода post?
Некоторыми возможными решениями являются предварительная загрузка данных там, где это возможно, включение кеширования на стороне сервера, если это необходимо, оптимизация запросов к базе данных, не возвращать весь html из POST и т.д.