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

AJAX Discussion :

[AJAX] 'undifined' au lieu de 'Customer not found'


Sujet :

AJAX

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [AJAX] 'undifined' au lieu de 'Customer not found'
    Javascript affiche 'undifined' au lieu de 'Customer not found' ou d'affiché les éléments trouvés dans la base, je ne comprends pas pourquoi, quelqu'un peut m'aider?

    Voici la partie du code qui pose problème:

    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
    	function getXMLHTTP(){
    				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){
    						try{
    						xhr = new ActiveXObject("Microsoft.XMLHTTP");
    						}catch(e1){
    							xhr = null;
    						}
    					}
    				}
    				else { // XMLHttpRequest non supporté par le navigateur
    					alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    				}
    				return xhr;
    			}
     
    				function verif(cli){
    				var _xmlHttp = getXMLHTTP();
    				_xmlHttp.onreadystatechange = function(){ 
    					var ver = test(_xmlHttp);
    					if(ver == "1"){
    						erreur[0] = 1;
    						writediv("Customer not found");
    					}else{
    						erreur[0] = 0;
    						writediv(ver);
    					}
     
    				};
    				var adresse = "http://smie/siteReclam/connexion/devis/verif.php?codecli="+cli ;
    				_xmlHttp.open("GET",adresse,true);
    				_xmlHttp.send(null);
    			}
    			//readyState 4 = état "complété" ou plutot chargement terminé, mettre un else
    			function test(_xmlHttp){
    				if(_xmlHttp.readyState == 4) {
    					return _xmlHttp.responseText;
    				}
    			}
     
    voici le code de: <a href="http://smie/siteReclam/connexion/devis/verif.php" target="_blank">http://smie/siteReclam/connexion/devis/verif.php</a> :
     
    		<?php
    	header('Content-Type: text'); 
    	function test($cli){
    		//connexion à la base de donné.
    		$link = mysql_connect("localhost","root","admin")
    			or die ("Impossible de se connecter : " . mysql_error());
    		$db_selected = mysql_select_db('testreclamclient', $link)
    			or die ("Impossible de se selectionner la base de données : " . mysql_error());
    		$query = "Select * from client where CodeClient=".$cli ;
    		$result = mysql_query($query);
    		if(mysql_num_rows($result) > 0){
    			$row = mysql_fetch_assoc($result);
    			//à mon avis il faut bouclé ici s'il y a plusieur ligne car là on traite que la 1ère, pas sûr
    			return $row['NomClient']." - ".$row['CodePostal']." - ".$row['VilleClient'];
    		}else{
    			return 1; //du coup quand on revien à ajoutereclamation il sera affiché "customer not found"
    		}
    	}
    	if(isset($_GET['codecli'])){
    		if($_GET['codecli'] != ''){
    			echo test($_GET['codecli']);
    		}
    	}
    ?>

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour et bienvenue sur Developpez.com

    test() est un mauvais nom pour une fonction.
    Et inspire-toi plutôt des autres scripts du forum ou des tutos pour la gestion d'erreur.

    Par contre ton message "undefined", lui, est peut être dû à ton array "erreur" qui ne semble pas être déclaré (donc erreur[0] n'existe pas) ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour et bienvenue sur Developpez.com

    test() est un mauvais nom pour une fonction.
    Et inspire-toi plutôt des autres scripts du forum ou des tutos pour la gestion d'erreur.

    Par contre ton message "undefined", lui, est peut être dû à ton array "erreur" qui ne semble pas être déclaré (donc erreur[0] n'existe pas) ...

    A+
    Pour mon array erreur[], il est déclaré. Le message undifined n'apparait que pour certaines valeurs sinon ça marche impect. "undifined" ne devrais pas s'afficher, s'il ne trouve pas le client dans la base le message "not found" devrai apparaitre, ça le fait très bien pour toutes les valeurs sauf rares exceptions et je ne comprend pas pourquoi, alors que dans la base ces valeurs existent, JS devrai les affiché comme les autres et pourtant non.
    Il est vrai que test n'ai pas un bon nom pour une fonction (je l'ai renommer), mais le problème ne vient pas de ça, mais si j'ai bien serné le problème, serait du côté de l'objet XmlHttp, son état (ou status) n'est pas égal à 4, qui correspond à l'état complété.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Il est étonnant que le problème ne se pose que dans certains cas ...
    Ne serait-ce pas lié à la valeur ramenée (noms avec apostrophes ou caractères accentués par exemple) ?

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/11/2015, 10h28
  2. [2.x] Ajax, route not found.
    Par khand dans le forum Symfony
    Réponses: 5
    Dernier message: 23/08/2011, 09h40
  3. [AJAX] Ajax + struts + erreur not Found
    Par ammouna24 dans le forum AJAX
    Réponses: 1
    Dernier message: 25/05/2009, 15h39
  4. TXMLModule.create - name = resource not found
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 04/03/2003, 10h54
  5. Component not found
    Par Pm dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 14h40

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