Ajax /php problème de POST
6 messages
• Page 1 sur 1
-

sff - WRInaute occasionnel

- Messages: 336
- Inscription: 2 Fév 2005
Ajax /php problème de POST
J'ai un problème assez compliqué à expliquer. Je vais faire le plus simple possible.
J'ai actuellement une page php assez simple avec 3 bouton input dans un form:
En fait mon but, c'est lorsque l'on clique sur un bouton, faudrait ne pas recharger la page entièrement, mais juste un contenu.
Donc pour cela j'ai mi le contenu de ma page dans un calque:
et un peu de javascript dans le <head>:
Le problème: En fait comme je vous l'ai expliqué plus haut, jj'aimerai que lorsque l'on clique sur un bouton input, il y es bien le formulaire qui joue son jeu, mais sans recharger la page.
Donc je sais pas comment m'y prendre avec cette ligne dans le javascript:
xhr.open("POST","?page=deplacement",true); dans le cas actuel ca m'affiche dans la div la page du site en entier.
J'ai actuellement une page php assez simple avec 3 bouton input dans un form:
- Code: Tout sélectionner
<form action="?page=deplacement" method="post">
<input name="south" type="image" title="Aller en bas" class="no_bordure" onclick="go()" src="images/carte/bouton-bas.gif"/>
</form>
En fait mon but, c'est lorsque l'on clique sur un bouton, faudrait ne pas recharger la page entièrement, mais juste un contenu.
Donc pour cela j'ai mi le contenu de ma page dans un calque:
- Code: Tout sélectionner
<div id="carte">
<form action="?page=deplacement" method="post">
<input name="south" type="image" title="Aller en bas" class="no_bordure" onclick="go(1)" src="images/carte/bouton-bas.gif"/>
</form>
</div>
et un peu de javascript dans le <head>:
- Code: Tout sélectionner
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest... Le site disfonctionnera.");
xhr = false;
}
return xhr;
}
function go(){
var xhr = getXhr();
xhr.onreadystatechange = function(){
// Tout est ok ?...
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
document.getElementById('carte').innerHTML = leselect;
}
}
[b]Le problème: [/b]
xhr.open("POST","?page=deplacement",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send(null);
}
Le problème: En fait comme je vous l'ai expliqué plus haut, jj'aimerai que lorsque l'on clique sur un bouton input, il y es bien le formulaire qui joue son jeu, mais sans recharger la page.
Donc je sais pas comment m'y prendre avec cette ligne dans le javascript:
xhr.open("POST","?page=deplacement",true); dans le cas actuel ca m'affiche dans la div la page du site en entier.
-

Jeviensderio - WRInaute passionné

- Messages: 1340
- Inscription: 29 Sep 2006
Ce qu'il me semble c'est que la fonction Ajax affiche la page courante avec un paramère. C'est normal qu'elle soit rechargée en entier.
Il faudrait peut-être créer un fichier XML ou JSON pour avoir des données à intégrer à la page.
C'est en tout cas ce que je fais habituellement.
Il faudrait peut-être créer un fichier XML ou JSON pour avoir des données à intégrer à la page.
C'est en tout cas ce que je fais habituellement.
- nico2006
- Nouveau WRInaute

- Messages: 21
- Inscription: 1 Nov 2006
salut;
remplace
<input name="south" type="image" title="Aller en bas" class="no_bordure" onclick="go()" src="images/carte/bouton-bas.gif"/>
par
<img title="Aller en bas" class="no_bordure" onclick="go()" src="images/carte/bouton-bas.gif"/>
et tu n'aura plus de soumission donc plus de rechargement de la page
remplace
<input name="south" type="image" title="Aller en bas" class="no_bordure" onclick="go()" src="images/carte/bouton-bas.gif"/>
par
<img title="Aller en bas" class="no_bordure" onclick="go()" src="images/carte/bouton-bas.gif"/>
et tu n'aura plus de soumission donc plus de rechargement de la page
-

Jeviensderio - WRInaute passionné

- Messages: 1340
- Inscription: 29 Sep 2006
La fonction POST a pour but d'envoyer des données au serveur. Le paramètre send() contient les données en question.
Si j'ai bien compris le but de l'exemple, il faut utiliser GET, et l'appel de la méthode setRequestHeader devient inutile.
Cela devrait marcher.
Si j'ai bien compris le but de l'exemple, il faut utiliser GET, et l'appel de la méthode setRequestHeader devient inutile.
Cela devrait marcher.
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- AJax, php et xml, probleme de variable php
- PHP / Ajax : Problème de formulaire
- Problème AJAX / PHP (getXhr)
- Problème d'apostrophe dans un chat php/ajax
- [Ajax] script post ou get ? précision
- Google indexe JavaScript, AJAX et formulaires en POST
- Faire du POST avec Ajax, ça ne fonctionne pas?!
- Formulaire et AJAX et PHP
- chat php / ajax
- cherche un pannier ajax/php?
Consultez la description détaillée des produits ou services de Google suivants : Google Web Toolkit
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
