2010-08-17 2 views
1

J'essaie de sortir du contenu du site et de l'afficher sur mon site Web.Le contenu de la page statique va-t-il attendre le chargement jusqu'à ce qu'un script AJAX obtienne son contenu?

J'ai site 1 et je veux afficher un contenu à partir du site 2 sur le site 1.

Mon plan est d'utiliser AJAX, sur place 1, pour charger un script PHP, sur le site 1, qui charge le contenu du site 2 et l'écho. Puis AJAX prendrait l'écho du script PHP et l'afficher dans un DIV sur place 1.

Ma question est ...

Est-ce que tous les autres contenu statique du site 1 attente pour le script PHP pleinement charger et echo c'est le contenu avant qu'il se charge?

OU

Est-ce que tous les autres contenu statique du site 1 charge d'abord, puis lorsque le script PHP est terminé obtenir le contenu du site 2 AJAX affichera dans la DIV?

Tout ceci se produira lors du chargement de la page.

Répondre

1

Si vous le faites sur le chargement de page, votre DOM s'affichera en premier avant d'afficher le contenu chargé par AJAX. Page_Load signifie que la fonction attendra que ... bien ... la page est chargée.

Si vous ne vouliez pas que cela se produise, vous pourriez avoir le script en exécution dans le cadre du chargement de la page, avec Javascript intégré.

Supposons que votre fonction se trouve dans votre <head> section.

<head> 
    <script type="text/javascript> 
    function alertMe() { 
     alert("hello world!"); 
    } 
    </script> 
</head> 

Puis au début de votre section <body>, vous pouvez appeler cette fonction.

<body> 
    <script type="text/javascript"> 
    alertMe(); 
    </script> 
    <!-- Other page content --> 
</body> 

Cela pourrait ne pas être une bonne pratique cependant, puisque l'autre site pourrait ne pas être disponible, et peut causer votre page entière en temps ou en agacer l'utilisateur parce que votre site prend plus de temps à charger.

Il est assez courant de charger AJAX, APRÈS votre page est chargée, donc je voudrais aller avec l'option # 1.

1

Normalement, c'est le deuxième cas: la page se charge d'abord, puis vous ajoutez une réponse ajax à div.

Vous pouvez écrire une requête ajax synchrone qui arrête le rendu jusqu'à ce que la réponse soit reçue, mais cela ne me semble pas être un bon choix.

0

Vous avez peut-être mal compris l'idée derrière AJAX. Si non, alors je me méprends sur votre question.

Si le site 1 exécute un script PHP qui fait écho au contenu du site 2, ce script PHP attend jusqu'à ce qu'il obtienne le contenu du site 2 avant de poursuivre avec le reste du script. Cependant, si le script PHP du site 1 envoie du code JavaScript au client, alors le script PHP sur le site 1 sera exécuté sans envoyer de requête au site 2 et JavaScript demandera le site 2 pour son contenu. Toutes mes excuses si je comprends mal votre question.

Questions connexes