AJAX appel de page via une page appelée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : AJAX appel de page via une page appelée

par Tictac » 10 juin 2006, 14:13

Bon , beh j'ai trouvé moi meme !

Je poste la solution car j'ai vu que bcp d'autres forums on la même question sans réponse

j'ai donc fait ce code =>
<script type="text/javascript">
function loadSub(subname)
	{
	if(document.getElementById(subname))
		{
		getFile(subname+'.php',subname);
		}
	else{
		setTimeout("loadSub('"+subname+"');",500);
		}
	}

</script>
pour appeler ma page via ajax , j'utilise ce button =>
<a href="javascript:getFile('user.php','content'),loadSub('list_user')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('btn1','','images/menu/user_btn_o.gif',1)"><img src="images/menu/user_btn.gif" name="btn1" width="192" height="41" border="0"></a>
Vous pouvez voir que je fais appel à loadSub à ce moment là , c'est à dire en même temps !

la fonction loadSub me permet de faire appel à la sous-page quand le div qui va la contenir est chargé , d'où le setTimeOut !

Si qqun trouve une solution plus simple , je suis preneur !

++

AJAX appel de page via une page appelée

par Tictac » 10 juin 2006, 09:06

Bonjour ,

Je rencontre un petit soucis pour appeler une page dans une page appelée.

Je m'explique j'ai une page index avec un menu qui execute ce script AJAX =>
function sendData(data, page, method , dest) 
{ 
    if(document.all) 
    { 
        //Internet Explorer 
        var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ; 
    }//fin if 
    else 
    { 
        //Mozilla 
        var XhrObj = new XMLHttpRequest(); 
    }//fin else 
     
    //définition de l'endroit d'affichage: 
    var content = document.getElementById(dest); 
     
    //si on envoie par la méthode GET: 
    if(method == "GET") 
    { 
        if(data == 'null') 
        { 
            //Ouverture du fichier sélectionné: 
            XhrObj.open("GET", page); 
        }//fin if 
        else 
        { 
            //Ouverture du fichier en methode GET 
            XhrObj.open("GET", page+"?"+data); 
        }//fin else 
    }//fin if 
    else if(method == "POST") 
    { 
        //Ouverture du fichier en methode POST 
        XhrObj.open("POST", page); 
    }//fin elseif 

    //Ok pour la page cible 
    XhrObj.onreadystatechange = function() 
    { 
        if (XhrObj.readyState == 4) 
			{
			if(XhrObj.status == 200)
				{
           		content.innerHTML = XhrObj.responseText ;
				}
			else if (XhrObj.status == 404)
				{
				content.innerHTML = "<div align='center'><img src='../lang/FR/images/error_loading.gif '/></div>";	
				}
			}
		else{
			content.innerHTML = "<div align='center'><img src='../lang/FR/images/traitement.gif '/></div>";
			}
	
    }     

    if(method == "GET") 
    { 
        XhrObj.send(null); 
    }//fin if 
    else if(method == "POST") 
    { 
        XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
        XhrObj.send(data); 
    }//fin elseif 
}//fin fonction SendData 
Mon soucis vient du fait que dans cette page , j'execute le même script du pour appeler une page.

Je voudrais que ça s'execute quand j'appelle la page car j'ai insèré ce code en fin de page (pour etre certain que le div cible soit chargé).

ca ne fonctionne pas !

la seule manière que j'ai trouvé , c'est avec un bouton qui appelle ce script.

Auriez vous une idée ?

Merci d'avance