sff | J'ai vu quelques exemple sur le web utilisant getHTTPObject() pour des formulaire ou d'autres choses. Cela permet visiblement d'exécuter les requetes à l'intérieux de la page sans les recharger.
Moi je cherche à faire en sorte que lorsque l'on clique sur un lien, la page nese recharge pas, mais affiche bien le contenu demandé.
J'ai ceci sur mon site:
Code :
- function ajax_request(methode, url, arguments,type, fonction) {
- var http_request = false; /** http_request est la variable qui contient notre objet "ajax"*/
- var data=null; /** data est la variable qui contient les arguments*/
- var taille=0; /** taille est la variable qui la taille de data*/
- if(methode != "GET" ) {
- if(methode != "POST" ) {
- alert("Requete Ajax : methode incorrecte -> " + methode);
- return false;
- }
- }
- if(!arguments) {
- arguments='';
- }
- if(type != "responseText" ) {
- if(type != "responseXML" ) {
- alert("Requete Ajax : type incorrecte -> " + type);
- return false;
- }
- }
- if(!url) {
- alert("Requete Ajax : url incorrecte" );
- return false;
- }
- if(!fonction) {
- alert("Requete Ajax : fonction incorrecte" );
- return false;
- }else{
- fonction=fonction+"(http_request."+type+" )";
- }
- if(methode == "GET" ) {
- url+="?"+arguments;
- } else {
- data=arguments;
- taille=data.length;
- }
- if (window.XMLHttpRequest) {
- http_request = new XMLHttpRequest();
- if (http_request.overrideMimeType) {
- http_request.overrideMimeType('text/xml');
- }
- } else {
- if (window.ActiveXObject) {
- try {
- http_request = new ActiveXObject("Msxml2.XMLHTTP" );
- } catch (e) {
- try {
- http_request = new ActiveXObject("Microsoft.XMLHTTP" );
- } catch (e) {}
- }
- }
- }
- if (!http_request) {
- alert('Cannot create an XMLHTTP instance');
- return false;
- } else {
- http_request.onreadystatechange = function() {
- if (http_request.readyState == 4) {
- if (http_request.status == 200) {
- eval(fonction);
- return true;
- } else {
- alert("Error no."+http_request.status+"\nAn error occur while receiving data" );
- return false;
- }
- }
- }
- http_request.open(methode, url ,true);
- http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded" );
- http_request.setRequestHeader("Content-length", taille);
- http_request.setRequestHeader("Cache-Control", "no-cache" );
- http_request.setRequestHeader("Connection", "close" );
- http_request.send(data);
- }
- }
- function principal(reponse) {
- document.getElementById("contenu" ).innerHTML = reponse;
- }
|
Et ceci pour le lien:
Code :
- echo '<img src="images/login/puce2.gif"/> <a href="#" onclick="javascript:ajax_request(\'POST\', \'?page=sondage\', \'ajax=true&Monpost1=\'+ document.getElementById(\'bouton\').value,\'responseText\',\'principal\');" ><span class="marron1">Créer un personnage</span></a><br />';
|
Mais si vous regardez ici, lorsque l'on clique sur créer un personnage on a la meme page s'intégrer sur la page actuel, ce qui est pas normal. Je ne trouve pas le problème
Demo: http://rpgillusion.franceserv.com/game/ Message édité par sff le 20-08-2006 à 23:51:48
|