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] affichage avec Ajax


Sujet :

AJAX

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Points : 77
    Points
    77
    Par défaut [AJAX] affichage avec Ajax
    Bonjour,

    J'ai une page html toute bête que voici :

    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
    <html>
    <head>
    	<link rel='stylesheet' type='text/css' href='styles.css'>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    	<title>Super-Délégué</title>
    </head>
    <body>
    <script type="text/javascript" src="fonction.js"></script>
    <noscript>Pour utiliser ce site, veuillez activer JavaScript dans les paramètres de votre navigateur. Mozilla Firefox est vivement recommandé pour l'utilisation de ce site</noscript>
     
    <div id="main">
    	<div class="top"></div>
    	<div class="middle">
    		<div id="main_menu"></div>
    		<div id="submain">
    			<table align="center">
    				<tr>
    					<td>
    						<input name="Button1" type="button" value="Valider" onclick="displayPage('etape1');">
    					</td>
    				</tr>
    			</table>
    		</div>
    	</div>
    	<div class="bottom"></div>		
    </div>
    </body>
    </html>
    Lorsque je clic sur le bouton Valider, ma page appelle la fonction displayPage() de fonction.js que voici :

    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
    	function displayPage(page)
    	{
    			requeteAjax = null;
    			requeteAjax = new XMLHttpRequest();
    			requeteAjax.open("POST","script/affichage.php",false);
    			requeteAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
     
    			requeteAjax.onreadystatechange = function()
    			{
    				if(requeteAjax.readyState == 4 && requeteAjax.status == 200)
    				{
    					$('submain').innerHTML = requeteAjax.responseText;
    					//alert(requeteAjax.responseText);
    				}
    			}
     
    			paramUrl = "etape="+page;
     
    			requeteAjax.send(paramUrl);
    	}
    affichage.php fonctionne très bien.
    Avec ce code, normalement ma page HTML "s'édite" avec le contenu retourné par affichage.php. Le problème est que sa n'est pas le cas : rien ne se passe, affichage.php s'éxecute bien mais il n'arrive rien.

    Si je passe mon requeteAjax.open à true au lieu de false, bizarrement sa marche !
    Le truc, c'est que je réutilise ma fonction displayPage() plusieurs fois et il faut que l'édition de la page se fasse avant d'autres instructions, or si je met true, l'édition de la page n'est pas la première chose effectué.

    Merci de votre aide et de toute réponse qui pourra mettre utile.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Ce code ne marche pas sous IE
    requeteAjax = new XMLHttpRequest();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requeteAjax.open("POST","script/affichage.php",false);
    Tu travailles en mode synchrone donc il n'y a pas de readystatechange .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    requeteAjax.open("POST","script/affichage.php",false);
    			requeteAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
    			paramUrl = "etape="+page;
    			requeteAjax.send(paramUrl);
                                   $('submain').innerHTML = requeteAjax.responseText;

Discussions similaires

  1. [AJAX] affichage avec lightbox
    Par anthonydb dans le forum AJAX
    Réponses: 1
    Dernier message: 02/12/2009, 09h19
  2. [AJAX] affichage avec IE
    Par bb_esca dans le forum AJAX
    Réponses: 2
    Dernier message: 29/10/2009, 17h34
  3. [AJAX] simple affichage avec Ajax.Request ne fonctionne pas
    Par karimphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/12/2007, 09h35
  4. [AJAX] Affichage avec AJAX
    Par bernylap dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/10/2007, 16h55
  5. [AJAX] Affichage avec Firefox
    Par sarapis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/05/2006, 16h00

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