Problème Ajax

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 : Problème Ajax

Re: Problème Ajax

par Berzemus » 13 avr. 2010, 09:26

Petit avis: quid d'utiliser une bibliothèque tel que Jquery ? c'est un investissement (en apprentissage) qui paie très vite (et très longtemps).

Re: Problème Ajax

par Truc » 13 avr. 2010, 09:20

Modération :
Afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Re: Problème Ajax

par noone67 » 11 avr. 2010, 16:16

Par contre j'ai un autre problème maintenant, le fait que je fait du innerHTML de certaines pages php bas les formulaire de ces pages php ne sont pas envoyé donc ca pose problème :S ?

Re: Problème Ajax

par noone67 » 10 avr. 2010, 20:00

Bon ca marche merci vraiment à tous pour votre aide :D

par contre sur ma div qui se change j'ai un truc bizarre qui s'écho : contenu_ajax.innerHTML=1

Sinon ca include bien les autres pages comme il faut :D

Re: Problème Ajax

par noone67 » 10 avr. 2010, 19:46

et voici le code php :

<?php
$t = $_POST['aff_page'].".php";
echo "contenu_ajax.innerHTML='".include("$t")."'";

?>

Re: Problème Ajax

par noone67 » 10 avr. 2010, 19:25

Euh le tuto je sais plus mais il balancait juste un peu de code comme ça :S

voici ou j'en suis :


function lanceAjax()
{

var httpRequest = null;
var param = "aff_page="+this.id;
alert(param);

if (window.XMLHttpRequest) { // Mozilla, Safari,...
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('html/javascript');
// Voir la note ci-dessous ? propos de cette ligne
}
}
else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
document.getElementById('contenu_ajax').innerHTML = 'Impossible de communiquer avec le serveur';
}
}
}

if (!httpRequest)
{
alert('Abandon :( Impossible de cr?er une instance XMLHTTP');
return false;
}

httpRequest.onreadystatechange = function()
{

if( httpRequest.readyState == 4 )
{
if( httpRequest.status == 200 )
{
if ( httpRequest.responseText != "" )
{
document.getElementById('contenu_ajax').innerHTML = httpRequest.responseText ;
}
else
{
document.getElementById('contenu_ajax').innerHTML = httpRequest.responseText ;


}
}
else
{
document.getElementById('contenu_ajax').innerHTML = 'Une erreur est survenue : ';
}

}
};

httpRequest.open("POST", "acc_ajax.php", true);
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
var param = "aff_page="+this.id;
//alert(param);// ici variable
httpRequest.send(param);


}

presentation.onclick=lanceAjax
actualites.onclick=lanceAjax
agenda.onclick=lanceAjax
critiques.onclick=lanceAjax
histoire.onclick=lanceAjax
photos.onclick=lanceAjax
disco.onclick=lanceAjax
events.onclick=lanceAjax
formu.onclick=lanceAjax
mail.onclick=lanceAjax
lien.onclick=lanceAjax
histoire.onclick=lanceAjax
photos.onclick=lanceAjax
disco.onclick=lanceAjax
events.onclick=lanceAjax
formu.onclick=lanceAjax
mail.onclick=lanceAjax
lien.onclick=lanceAjax

Re: Problème Ajax

par Nours312 » 10 avr. 2010, 19:16

bon, je vais t'en dire plus, car il se peux que tu ne vois pas ce qui cloche ::

tu as une fonction : httpRequest.onreadystatechange = function() qui dans l'état ne sert à rien !... // c'est une fonction qui est pourtant appelée à chaque changement d'état de la requete ... (appel de la page, connexion, récupération des données, ...)

ton objet httpRequest est utile, car il va contenir la réponse de ta requete ajax, tu dois donc le vérifier et l'utiliser dans la fonction ci-dessus

if(httpRequest.readyState == 4)
document.getElementById('idDeTaDiv).innerHTML = httpRequest.responseText;

1. on vérifie que la requête s'est correctement réalisée,
2. on inscrit dans la div la réponse reçue ... (tu va surement devoir refaire ton php pour avoir le résultat souhaité ;)

@+

PS : quel tuto t'as utilisé pour faire ça ?

Re: Problème Ajax

par Nours312 » 10 avr. 2010, 18:33

bon, le principe de l'ajax, c'est qu'un script javascript appel une page pour récupérer une réponse (header, text, xml, ...) ensuite, il utilise cette réponse pour faire quelquechose (ici modifier le contenu d'une div ... c'est ça ?)

actuellement, une fois la réponse reçue tu n'en fait pas grand chose !... donc comment veux tu que la div change !?

Re: Problème Ajax

par noone67 » 10 avr. 2010, 17:24

Mais justement tout passe sauf que ca actualise pas au final, j'ai déjà testé des alert partout

heu ... dans ta fonction, ou se trouve la ligne sensée inscrire le retour d'ajax dans la div en question ??

ou traites tu la réponse du serveur ?

pas sur de comprendre de quoi tu me parle je suis pas ultra confirmé en ajax :S

Re: Problème Ajax

par Nours312 » 10 avr. 2010, 16:55

Mais justement tout passe sauf que ca actualise pas au final, j'ai déjà testé des alert partout

heu ... dans ta fonction, ou se trouve la ligne sensée inscrire le retour d'ajax dans la div en question ??

ou traites tu la réponse du serveur ?

Re: Problème Ajax

par noone67 » 10 avr. 2010, 16:43

Mais justement tout passe sauf que ca actualise pas au final, j'ai déjà testé des alert partout

Re: Problème Ajax

par devlop78 » 10 avr. 2010, 16:16

Débeug !!! Mets des alert() un peu partout et voit jusqu'ou ça va

par exemple

opération 1
alert('1');
opération 2
alert('2');
opération 3
alert('3');

Et si tu vois par exemple que l'alerte 3 ne s'affiche pas, tu verras à peu près où ça coince.

Re: Problème Ajax

par noone67 » 10 avr. 2010, 15:25

Bas non c'est de l'évènementiel java script y'a pas besoin et pis les onlick marchent le alert se fait bien mais ca se rafraichit quand même pas : (

Re: Problème Ajax

par devlop78 » 10 avr. 2010, 14:44

Je trouve ton code assez bizarre. Avec tous ces try et catch. Mais bon ...

presentation.onclick=lanceAjax
actualites.onclick=lanceAjax
agenda.onclick=lanceAjax
critiques.onclick=lanceAjax
histoire.onclick=lanceAjax
photos.onclick=lanceAjax
disco.onclick=lanceAjax
events.onclick=lanceAjax
formu.onclick=lanceAjax
mail.onclick=lanceAjax
lien.onclick=lanceAjax

pourquoi pas déjà mettre lanceAjax(), puisque c'est une fonction, et rajouter ';' après chacun. J'imagine que le problème n'est pas là mais tu as demandé si je voyais qqchose qui me chocait et ça ça me choque ;)

Re: Problème Ajax

par noone67 » 10 avr. 2010, 11:55

biensur il y a :

Code : Tout sélectionner

var presentation = document.getElementById("presentation"); var actualites = document.getElementById("actualites"); var agenda = document.getElementById("agenda"); var critiques = document.getElementById("critiques"); var histoire = document.getElementById("histoire"); var photos = document.getElementById("photos"); var disco = document.getElementById("disco"); var events = document.getElementById("events"); var formu = document.getElementById("formu"); var mail = document.getElementById("mail"); var lien = document.getElementById("lien"); var aff_page; presentation.onclick=lanceAjax actualites.onclick=lanceAjax agenda.onclick=lanceAjax critiques.onclick=lanceAjax histoire.onclick=lanceAjax photos.onclick=lanceAjax disco.onclick=lanceAjax events.onclick=lanceAjax formu.onclick=lanceAjax mail.onclick=lanceAjax lien.onclick=lanceAjax