Comment puis-je charger un php dans une page avec ajax pendant la chargement de la page

J'ai un php include qui prend un certain temps pour charger car PHP doit récupérer beaucoup de données. Je ne veux pas ralentir la page Web en cours de chargement en attente de cela, alors comment puis-je charger ceci avec ajax? Je ne veux pas que l'ajax soit déclenché par un clic de bouton. Je veux juste que le chargement soit inclus lorsque la page est en cours de chargement, de sorte que si vous regardez mon exemple ci-dessous, «Un autre contenu html» s'affichera alors que l'inlude. Php est toujours en cours de chargement.

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

Si vous utilisez jQuery, vous pouvez utiliser l'un de leurs appels ajax pour charger votre html depuis include.php. Par exemple, vous pouvez utiliser la fonction load () .

Par exemple:

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

Utilisez jquery, chargez php après DOM prêt (avant qu'ils ne le rendent)

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

Si vous n'utilisez pas jQuery, vous pouvez déclencher votre fonction AJAX en utilisant document.onload. Je n'ai jamais essayé que cela soit juste car la plupart des PHP sont rapides et je m'inquiète de ce qui se passerait si la page était partiellement chargée. Vous pouvez utiliser document.ready pour éviter cela, mais vous attendez simplement que la page soit chargée. N'oubliez pas que vous avez des connexions limitées par navigateur par serveur par HTTP afin que vous trouviez que cela ne ralentit rien à la fin.

J'utilise des pages assez techniques et, parfois, elles prennent jusqu'à 0,06 secondes pour charger mais généralement elles sont plus rapides. Ceci sur un serveur très peu coûteux et méchant avec des ressources extrêmement peu nombreuses. Les utilisateurs ne peuvent pas considérer cela comme un retard puisqu'il faut beaucoup plus de temps pour télécharger le contenu que PHP prend pour le servir.

Demande toi:

  • Élément de liste Pourquoi mon code prend tellement de temps à charger?
  • Article de liste Est-ce que j'ai besoin de tout ce code dans l'inclusion?
  • Élément de liste Est-il une meilleure façon?
  • Élément de liste Dois-je supprimer le code rarement utilisé pour séparer les éléments (ou utiliser l'installation de chargement de lot de classe en PHP)?

Peut-être pourrait-il être préférable de simplifier votre code pour qu'il fonctionne plus rapidement. Si vous n'avez pas l'intention de desservir toutes les données que vous recherchez, peut-être n'avez-vous pas besoin de l'acheminer. Si vous allez le servir, c'est ce qui prendra le temps, pas le traitement.