IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] xhr.send() ne fonctionne pas :(


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [AJAX] xhr.send() ne fonctionne pas :(
    Bonjour,
    Voila j'ai un petit problème en ajax et j'espère que vous allez pouvoir m'aider à le résoudre :

    j'envoie des donnée en POST dans l'appel d'une page seulement cela ne fonctionne pas, ma page reçois rien .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    function showContent(page,id){
    	idHtml=id;
    	document.getElementById(idHtml).innerHTML = '<img src="img/loader.gif" alt="Chargement..." />';
    	switch(page){
    				/*************** ACCUEIL - INFORMATIONS ***********************/
    		case "pRef" : xhr.open("POST", "pRef.php", true);
    			getValues();
    			POST='montant2='+montant2+'&duree2='+duree2+'&mens2='+mens2+'&age='+age+'&ancien='+ancien;
    			POST+='&banque='+banque+'&nbDebit='+nbDebit+'&epargne='+epargne+'&soldeF='+soldeF;
    			alert(POST);
    			xhr.send(POST);
    			xhr.onreadystatechange = insertContent;
    		break;	
    				/****************** EN COURS ****************************/
    	  default : xhr.open("GET", "introuvable.php", true);
    			xhr.send(null);
    			xhr.onreadystatechange = insertContent;
    	}
    }
    Voici la fonction que j'utiliser pour appeler mes pages, et la page pRef.php ne reçois rien, j'affiche dans cette page du texte, ce texte apparait niquel par contre je fait aussi un print_r de $_POST et la j'ai un tableau vide , En ce qui concerne la varriable POST elle en javascript elle contien bel et bien des élément, car j'ai fait un affichage avec un alert de cette variable et tout marche niquel.

    Voici ci dessous le code complet de mon fichier javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    var xhr;
    var POST="";
    var idHtml="";
    /*****************RECUPERATIONS DES VARIABLES*****************/
    var montant2;
    var mens2;
    var duree2;
    var age;
    var ancien;
    var banque;
    var nbDebit;
    var epargne;
    var soldeF;
    function getValues(){
    	montant2=document.getElementById('montant2').value;
    	mens2=document.getElementById('mens2').value;
    	duree2=document.getElementById('duree2').value;
    	age=document.getElementById('age').value;
    	ancien=document.getElementById('age').value;
    	banque=document.getElementById('banque').value;
    	nbDebit=document.getElementById('nbDebit').value;
    	epargne=document.getElementById('epargne').value;
    	soldeF=document.getElementById('soldeF').value;
    }
    try{
    	xhr = new XMLHttpRequest();
    }catch(e){
    	var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
    									'MSXML2.XMLHTTP.5.0',
    									'MSXML2.XMLHTTP.4.0',
    									'MSXML2.XMLHTTP.3.0',
    									'MSXML2.XMLHTTP',
    									'Microsoft.XMLHTTP');
     
    	for (i=0 ; i<XmlHttpVersions.length && !xhr ; i++){
    		try{
    			xhr = new ActiveXObject(XmlHttpVersions[i]);
    		}catch(e){
     
    		}
    	}
     
    	if(!xhr) alert("Votre ordinateur n'est pas compatible avec Ajax");
    }
     
    function showContent(page,id){
    	idHtml=id;
    	document.getElementById(idHtml).innerHTML = '<img src="img/loader.gif" alt="Chargement..." />';
    	switch(page){
    				/*************** ACCUEIL - INFORMATIONS ***********************/
    		case "pRef" : xhr.open("POST", "pRef.php", true);
    			getValues();
    			POST='montant2='+montant2+'&duree2='+duree2+'&mens2='+mens2+'&age='+age+'&ancien='+ancien;
    			POST+='&banque='+banque+'&nbDebit='+nbDebit+'&epargne='+epargne+'&soldeF='+soldeF;
    			alert(POST);
    			xhr.send(POST);
    			xhr.onreadystatechange = insertContent;
    		break;	
    				/****************** EN COURS ****************************/
    	  default : xhr.open("GET", "introuvable.php", true);
    			xhr.send(null);
    			xhr.onreadystatechange = insertContent;
    	}
    }
     
    /*******************************************************************************************
    						Insertion du contenu HTML dans le div adapté
    *******************************************************************************************/
    function insertContent(){
    	if(xhr.readyState == 4 && xhr.status == 200){
    		if (xhr.responseText != ""){
    			document.getElementById(idHtml).innerHTML = xhr.responseText ;
    		}
    	}
    }
    En esperant que vous allez pouvoir m'aider.

    Merci d'avance.

  2. #2
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    dans les documentations que j'ai pu lire, l'initialisation de la propriété onreadystatechange s'effectue avant l'appel de la méthode send().

    En espérant avoir aidé...
    @+
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 63
    Points : 73
    Points
    73
    Par défaut
    Je dirais pareil que navis , parce que c'est le seul truc qui pourrait faire une erreure que je vois. Sinon as-tu l'extension firefox Web Developer ? elle est utile pour voir quelle erreure js on a fait

Discussions similaires

  1. [AJAX] ajax et xml ne fonctionnant pas sous Firefox
    Par Phpdebut dans le forum AJAX
    Réponses: 7
    Dernier message: 03/02/2010, 12h15
  2. Réponses: 2
    Dernier message: 20/08/2008, 23h09
  3. [AJAX] [Firefox] send n'est pas appelée tout le temps
    Par MademoiselleL dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/07/2007, 15h16
  4. [AJAX] Parsage XML ne fonctionne pas sous IE!
    Par webrider dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/03/2007, 19h50
  5. [AJAX] [xhr.send()] Paramètres toujours envoyés en UTF-8
    Par webrider dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/03/2007, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo