Partage
  • Partager sur Facebook
  • Partager sur Twitter

[AJAX]Variable qui ne semble pas être prise en compte

Sujet résolu
    6 mars 2010 à 23:23:10

    Bonsoir à tous,
    Etant un vrai zero dans le domaine de l'ajax et du javascript j'ai un petit problème.

    J'arrive à charger une page php dans un cadre sans avoir à recharger la page :)
    Néanmoins la page chargé garde toujours la valeur par défaut et ce même si je change sans sécuriser mais pour m'entrainer la valeur dans le lien ou directement dans la barre d'adresse. :(

    Voici la page php que je charge(corps.php) :
    <?php
     
    					$page = (!empty($_GET['page'])) ? htmlentities($_GET['page']) : 'langue/defaut';
     
    					$array_pages = array(
    					'index' => 'langue/defaut.php',
    					'fr' => 'langue/fr.php',
    					'de' => 'langue/de.php',
    						);
     
    					if(!array_key_exists($page, $array_pages)) include('langue/defaut.php');
     
    					elseif(!is_file($array_pages[$page])) include('pages/error.php'); 
     
    					else  include($array_pages[$page]);
     
    			?>
    

    Cette page se contente simplement de charger une autre page en fonction de la valeur qu'il y a dans ?page= et s'il n'y a rien ou quelque chose qui n'existe pas , simplement afficher la page par défaut.
    Si je lance directement cette page en changeant la valeur, il n'y a aucun problème tout fonctionne parfaitement.

    Voici la page index avec le javascript ect...
    <script type="text/javascript">
    
    	
    function ajaxAsynchrone(url) {
    
    	var xhr_object = null;
    	if(window.XMLHttpRequest) {
    		// Firefox et autres navigateurs sans problemes 
    		xhr_object = new XMLHttpRequest();
    	} else if(window.ActiveXObject) {
    		// Internet Explorer
    		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    	} else { 
    		// XMLHttpRequest non supporté par le navigateur
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    		return;
    	}
    	var dt=new Date();
    	document.getElementById('corps').innerHTML ="Chargement...";
    	xhr_object.open("GET", url+"?"+dt, true);
    	xhr_object.onreadystatechange = function() { 
    		if (xhr_object.readyState == 4) {
    			var reponse=xhr_object.responseText
    			document.getElementById('corps').innerHTML =reponse;
    		}
    	} 
    	xhr_object.send(null);
    }
    </script>
    <a href="javascript:ajaxAsynchrone('corps.php?page=fr')">Page</a>
    
    <div id="corps" style="width:45%; height:45%;background-color:grey;"></div>
    


    Donc normalement je pense que la page qui doit s'afficher devrait être en français mais la langue reste par défaut :o ...

    Merci d'avance pour votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      7 mars 2010 à 2:44:54

      ajaxAsynchrone('corps.php?page=fr')
      


      xhr_object.open("GET", url+"?"+dt, true);
      


      Si je ne m'abuse, ça donne...

      "corps.php?page=fr?le_truc_date"
      


      Ce qui n'a aucun sens...

      Qui plus est, la date, je pense qu'il faut mieux que tu écrives dt.getTime() sinon c'est toString() qui va être appelée, et c'est pas beau.
      • Partager sur Facebook
      • Partager sur Twitter
        7 mars 2010 à 12:01:26

        Merci beaucoup le problème venait de là.

        Bonne journée à tous


        et maintenant arriver a transférer des variables :o
        • Partager sur Facebook
        • Partager sur Twitter

        [AJAX]Variable qui ne semble pas être prise en compte

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown