Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Ajax] Appel simple d'un script php

Sujet résolu
    27 mai 2011 à 11:44:56

    Salut tout le sdz,
    Auriez vous un exemple de code qui fasse cette chose-ci :
    Quand on click sur un lien dans une page html, on reste sur la même page, on fais un appel à un script php où il y'aura (echo 'site du zero'), et sera affiché dans un <p id="text"></p> dans la page html ?

    Le code est super simple je pense, mais je pourrai faire tout ce que je souhaite ensuite !

    Merci d'avance,
    Fclm
    • Partager sur Facebook
    • Partager sur Twitter
      27 mai 2011 à 12:06:55

      <script>
      	function createInstance()
      	{
              var req = null;
      		if (window.XMLHttpRequest)
      		{
       			req = new XMLHttpRequest();
      		} 
      		else if (window.ActiveXObject) 
      		{
      			try {
      				req = new ActiveXObject("Msxml2.XMLHTTP");
      			} catch (e)
      			{
      				try {
      					req = new ActiveXObject("Microsoft.XMLHTTP");
      				} catch (e) 
      				{
      					alert("XHR not created");
      				}
      			}
      	    }
              return req;
      	};
      	
      	function ajax()
      	{
      		var req = createInstance();
      		req.onreadystatechange = function()
      		{ 
      			if(req.readyState == 4)
      			{
      					if(req.status == 200)
      					{
      						document.getElementById('text').innerHTML = req.responseText; 
      					}	
      					else	
      					{
      						document.getElementById('text').innerHTML = 'Une erreur s\'est produite pendant l\'execution du script';
      					}	
      			}
      		};
      		setTimeout("launch",600);
      	}
      	
      	function launch()
      	{
      		req.open("GET","hello.php"); 
      		req.send(null);
      	}
      </script>
      
      <div id=text></div>
      <input type=button onClick="ajax();" />
      


      hello.php
      <?php
          echo 'Hello world';
      ?>
      
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        27 mai 2011 à 14:00:18


        Je ne comprends pas les auteurs des tutoriels de ce site, qui à propos d'Ajax donnent l'impression de réinventer la poudre à chaque fois.

        Ne serait-il pas plus judicieux de recommander aux utilisateurs de se constituer, une bonne fois pour toutes, une fonction Ajax plutôt que de reprendre le même code à longueur de pages...

        Pour ma part, j'utilise celle-ci inspirée de celle de Peter-Paul Kock

        var xmlObj=false;
        var xmlFct=[function(){return new XMLHttpRequest()}
        	,function(){return new ActiveXObject("Msxml2.XMLHTTP")}
        	,function(){return new ActiveXObject("Msxml3.XMLHTTP")}];
        for (var i=0;i<xmlFct.length;i++) {try{xmlObj = xmlFct[i]();}catch(e){continue;}break;}
        
        // La fonction d'appel AJAX
        // url la page php appelée avec les données si GET
        // cllbck Fonction de callback appelée au retour
        // pstDta La chaîne si requête POST
        function sndRqu(url,cllbck,pstDta){
        	var req=xmlObj;
        	if (!req) return;
        	var mth=(pstDta)? "POST":"GET";
        	req.open(mth,url,true);
        	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
        	if (pstDta) req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
        	req.onreadystatechange=function(){
        		if (req.readyState!=4) return;
        		if (req.status!=200 && req.status!=304) {// 200 Ok, 304 Redirection Not modified
        //			alert('HTTP error ' + req.status);
        			return;}
        		cllbck(req);}
        	if (req.readyState==4) return;
        	req.send(pstDta);
        };
        
        • Partager sur Facebook
        • Partager sur Twitter

        [Ajax] Appel simple d'un script php

        × 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