Intereting Posts
Есть ли способ петли через многомерный массив, не зная его глубины? PHP: как узнать вызывающую функцию? Использование Curl для получения удаленного источника страницы, как эхо только одна строка кода на основе его номера Как создать случайную длинную соль для использования в хешировании? Подтвердить электронную почту в php Неожиданная ошибка при отправке фотографий в тестовые пользователи Как добавить все значения массива в PHP? PayPal и Php? Запросить URL-адрес Http Почему mysqli_insert_id () всегда возвращает 0? как хранить значения текстового поля в массиве с помощью jquery? Добавление пользовательского обратного вызова к проверке формы Codeigniter PHP Преобразование одномерного массива в вложенный массив PHP анализирует теги HTML Когда вы автоматически создаете субдомены при регистрации пользователей, это создает новый веб-сайт или дает внешний вид веб-сайта?

Как загрузить php на страницу с помощью ajax во время загрузки страницы

У меня есть php include, который занимает некоторое время, потому что PHP должен получать много данных. Я не хочу замедлять загрузку всей веб-страницы, ожидая этого, поэтому как я могу загрузить этот атрибут с помощью ajax? Я не хочу, чтобы ajax был вызван нажатием кнопки. Я просто хочу, чтобы он загружал include, когда страница загружается, поэтому, если вы посмотрите на мой пример ниже, будет отображаться еще некоторое содержимое html во время включения. php по-прежнему загружается.

<html> <head> </head> <body> Some html content <script> Ajax load 'include.php'; </script> Some more html content </body> </html> 

Если вы используете jQuery, вы можете использовать один из своих вызовов ajax для загрузки html из include.php. Например, вы можете использовать функцию load () .

Например:

 <div id="content"></div> <script> $(document).ready(function() { $("#content").load("/yourpath/include.php"); }); </script> 

использовать jquery, загрузить php после готовности DOM (перед их отображением)

 <div id="include"></div> $(function(){ $("#include").load("include.php"); }); 

Если вы не используете jQuery, вы можете запустить функцию AJAX с помощью document.onload. Я никогда не пробовал это, чтобы быть справедливым, поскольку большинство PHP молниеносно, и я буду беспокоиться о том, что произойдет, если страница будет только частично загружена. Вы можете использовать document.ready, чтобы этого избежать, но тогда вы просто ждёте загрузки страницы. Помните, что у вас ограниченные соединения для каждого браузера на сервер по HTTP, поэтому вы можете обнаружить, что это не ускоряет работу в конце.

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

Спроси себя:

  • Элемент списка Почему мой код так долго загружается?
  • Элемент списка Мне нужен весь этот код в include?
  • Элемент списка Есть ли лучший способ?
  • Элемент списка Должен ли я удалить редко используемый код для разделения включает (или использовать средство пакетного загрузки класса в PHP)?

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