IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Info d'une page php d'un serveur, dans une page html dans un autre serveur


Sujet :

AJAX

  1. #1
    Membre régulier Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Points : 123
    Points
    123
    Par défaut [AJAX] Info d'une page php d'un serveur, dans une page html dans un autre serveur
    Bonjour,

    Je viens vers vous car je suis en ce moment bloqué sur un problème auquel j'ai une partie de la réponse mais pas de quoi faire quelque-chose de propre.

    J'aimerais récupérer des infos dans une page type php sur un serveur. Les infos sont des lignes ou figure des liens.
    Exemple :
    Voir la news : Les Alex D'or 2013 écrite par Geeks le 29 avril 2013 à 10:08:40.
    Voir la news :
    Nouveau système de news
    sur le FORUM RM XP écrite par Geeks le 29 avril 2013 à 10:08:19.
    Au niveau des liens, ça va renvoyé sur le second serveur dans une nouvelle page / nouvelle fenêtre, oui, c'est le principe que je vais faire. Ensuite, tout se passe dans le second serveur.

    Mon souci viens du serveur qui va afficher les infos. L'autre serveur quoi. Il ne dispose que de la partie html et javascript. Du coup, je me suis demander si on pouvais depuis la page html du serveur 1, appeler la page php du serveur 2 et au lieu de faire attendre la réponse avec les lignes, faire ça de façon asynchrone. Ainsi les news s'affichent sans faire peiner les navigateurs. Je pense à ie, firefox, chrome, les smartphones et appareils portable.

    Je sait pas si c'est faisable d'avoir ceci:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <html>
    	<head>
    		<SCRIPT language="Javascript"> 
    			<!-- 
    				//Ici on fait une sorte d'include entre serveur. C'est ce fichier qui ira cherché les infos
    			// --> 
    		</SCRIPT> 
    	</head>
    	<body>
    		<!-- Ici on a le site -->
    		<div>Bannière</div>
    		<div>
    			<!-- Ici on affichera les news -->
    			Voir la news : <a href="lienServExterne" target="_blank" title="Les Alex D'or 2013">Les Alex D'or 2013</a> écrite par Geeks le 29 avril 2013 à 10:08:40.
    			Voir la news : <a href="lienServExterne" target="_blank" title="Nouveau système de news">Nouveau système de news</a> sur le FORUM RM XP écrite par Geeks le 29 avril 2013 à 10:08:19.
    		</div>
    		<div>La suite</div>
    	</body>
    </html>

    Bref, j'aimerais y aller pas à pas et faire un petit système qui fonctionne correctement

    Merci pour votre patience

  2. #2
    Membre régulier Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Points : 123
    Points
    123
    Par défaut
    Et bien voila, j'avance à petits pas.

    Je suis arrivé à récupérer le contenu d'une page. Ok, c'est maintenant dans data. Sauf que je n'arrive pas à parser !

    Exemple global qui fonctionne sans parseur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    	<script language="Javascript"> 
     
    		var urlNews = 'http://votreDomaine/votrePage.php';
    		var xmlhttp;
     
    		if (window.XMLHttpRequest) {
    			// code for IE7+, Firefox, Chrome, Opera, Safari
    			xmlhttp=new XMLHttpRequest();
    		}
    		else {
    			// code for IE6, IE5
    			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    		}
     
    		xmlhttp.onreadystatechange=function() {
    			if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                     //alert(xmlhttp.responseText);
                     //xmlhttp.responseText;
    			}
    		}
     
    		xmlhttp.open("POST",urlNews);
    		xmlhttp.send();
     
    		$.ajax({
              url: urlNews,
              success: function (data) {
                //alert(data);
                document.write(data);
              }
            });
    	</script>
    Data me renvoie dans ce cas présent tout l'html de la page :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <!DOCTYPE html>
    		<html lang="fr">
    			<head>
    				<base href="http://votreDomaine/votrePage.php" />
    				<meta http-equiv="content-type" content="text/html; charset=utf-8" />
    				<meta name="description" content="Forum RPG Maker XP" />
    				<meta name="robots" content="index, follow" />
    				<meta name="rights" content="Geeks - &copy; 2013" />
    				<title>Forum RPG Maker XP</title>
    				<link rel="stylesheet" href="/projet/css/ext.css" type="text/css" />
    			</head>
    			<body>
    				<div id="idNews">
    					Voir la news : <a href="news.php?news=2" title="Voir la news : Les Alex D'or 2013" target="_blank">Les Alex D'or 2013 </a> écrite par Geeks le 29 avril 2013 à 10:08:40.<br />Voir la news : <a href="news.php?news=1" title="Voir la news : Nouveau système de news sur le FORUM RM XP" target="_blank">Nouveau système de news sur le FORUM RM XP </a> écrite par Geeks le 29 avril 2013 à 10:08:19.<br />
    				</div>
    			</body>
    		</html>

    J'aimerais isoler ce qui est contenu dans [codeinline]<div id="idNews"></div>[codeinline]. Depuis data dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $.ajax({
              url: urlNews,
              success: function (data) {
                //alert(data);
                document.write(data);
              }
            });
    Si c'est possible.

    Merci.

  3. #3
    Membre régulier Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Points : 123
    Points
    123
    Par défaut
    Bon, finalement, j'ai trouver la solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    var urlNews = 'http://votreDomaine/votrePage.php';
    var xmlhttp;
     
    if (window.XMLHttpRequest) {
    	// code for IE7+, Firefox, Chrome, Opera, Safari
    	xmlhttp=new XMLHttpRequest();
    }
    else {
    	// code for IE6, IE5
    	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
     
    xmlhttp.onreadystatechange=function() {
    	if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    		 //alert(xmlhttp.responseText);
    		 //xmlhttp.responseText;
    	}
    }
     
    xmlhttp.open("POST",urlNews);
    xmlhttp.send();
     
    $.ajax({
    	url: urlNews,
    	success: function (data) {
    		var object;
     
    		object = document.createElement('object');
    		object.innerHTML = data;
     
    		var result = '<h3>Les news</h3>' + $(object).find("#idNews").html();
    		$("#ecrireNews").html(result);
    	},
     
    	error: function (data) {
    		var result = 'News indisponible.';
    		$("#ecrireNews").html(result);
    	}	
    });
    Voila, je n'ai pas perdu de temps à mettre de commentaire, jQuery et un peu de JS ont suffit à résoudre le problème.

    Merci (ou pas) de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pousser la valeur d'un champs HTML dans une variable PHP
    Par richard1583 dans le forum Langage
    Réponses: 2
    Dernier message: 17/10/2017, 09h26
  2. Code HTML dans une Class PHP (Pagination)
    Par bndd24 dans le forum Langage
    Réponses: 6
    Dernier message: 06/12/2016, 17h18
  3. Réponses: 12
    Dernier message: 20/03/2015, 10h27
  4. Réponses: 5
    Dernier message: 12/03/2015, 16h32
  5. HTML dans une variable PHP
    Par tynmar dans le forum Langage
    Réponses: 4
    Dernier message: 19/03/2007, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo