Xml http request

Fermé
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 - 10 févr. 2009 à 21:07
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 - 10 févr. 2009 à 23:37
Bonjour,
Je cherche un moyen de rafraichir une seule partie de mon site pour eviter d'avoir un passage blanc tout moche a chaque click.

J'ai essaye les xmlhttprequest mais je ne parviens pas a faire passer la variable php dans la requete donc il change la fenetre avec la requete mais me ramene a l'accueil avec F5 ou le bouton envoyer d'un formulaire.

Quelqu'un a t il une solution ?

merci de m'aider c'est assez urgent

4 réponses

gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
10 févr. 2009 à 21:21
Salut,

oui tu utilise quoi comme fonciion(s) AJAX ?

A+

Gaerebut
0
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 19
10 févr. 2009 à 21:29
ceci est ma fonction de rechargement :
function request(url,cadre) {
var XHR = null;
if(window.XMLHttpRequest) // Firefox
XHR = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
XHR = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
// envoie de la requête, methode GET et de l'url
XHR.open("GET",url, true);
// on guette les changements d'état de l'objet
XHR.onreadystatechange = function attente() {
// l'état est à 4, requête reçu !
if(XHR.readyState == 4) {
// ecriture de la réponse
document.getElementById(cadre).innerHTML = XHR.responseText;
}
}
XHR.send(null); // le travail est terminé
return;
}// JavaScript Document

un exemple d'appel par le menu :
<li class='bouton'><a href="" onclick="request('index.php?main=accueil.php','xmlhttp');return(false)">ACCUEIL</a></li>

ou encore :
<li class="bouton"><a href="" onclick="request('index.php?main=acquereur.php','xmlhttp');return(false)">ACQUEREUR</a></li>

le probleme est que la variable main ne se met pas a jour donc si je rafraichis sur acquereur.php je reviens au main
0
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
10 févr. 2009 à 23:23
Voila, maintenant, ré-envoie moi le code en utilisant l'outils qui conserve la mise en forme du texte !
Parce que là c'est pas indenté c'est moche. Si c'est ton code qui est non indenté d'origine, ça m'étonne pas que tu n'y arrive pas !lol

A+

Gaerebut
0
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 19
10 févr. 2009 à 23:37
merci pour ta reponse je m'y accroche parce que je pete un cable a l'heure qu'il est!!!

de maniere generale mon menu doit logiquement mettre a jour la variable main via le ?main=

quand je navigue sans rafraichir juste par le menu la variable se met a jour et les pages changent

mais quand la page se recharge (F5) je retombe sur l'accueil :

<?php if (!isset($_GET['main'])){
echo "SETTING MAIN";
$_GET['main'] = "accueil.php";
}
echo "main:";echo $_GET['main'];
include $_GET['main'];

donc il reinitialise main ?

d'autre part pour l' envoi de formulaire :
<input name="acquereur" type="submit" value="Envoyer"
onclick="request('index.php?main=acquereur.php','xmlhttp');return(false)">

je reviens bien cette fois ci sur la bonne page et pas accueil mais IL NE LIT PAS LE PHP

est ce qu'il a rafraichi localement sans dialoguer avec le serveur (excluant ainsi la fonction mail et transport des differents champs du formulaire) ?

svp j'en peux plus de ce souci je sais plus quoi faire
0