У меня есть 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, чтобы обслуживать его.
Спроси себя:
Возможно, было бы лучше упростить код, чтобы он работал быстрее. Если вы не собираетесь обслуживать все данные, которые вы получаете, возможно, вам вообще не нужно их брать. Если вы собираетесь его обслуживать, это то, что займет время, а не обработка.