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

jQuery Discussion :

ajax non fonctionnel


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2016
    Messages : 69
    Points : 64
    Points
    64
    Par défaut ajax non fonctionnel
    Bonsoir,

    j'essaie de faire une fonction ajax qui le permet d'envoyer des choses sur mon serveur mais j'aimerai traiter les messages renvoyées par le serveur. Ainsi jai defini que si le serveur ne renvoit pas d'erreur donc success je fait une redirection sur une autre page sinon j'affiche un message d'erreur.

    Mais ca fonctionne pas meme si je rentre n'importe quoi dans mon formulaire ca me redirige vers ma page.

    voila le code :

    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
     
     
    $('body').on('click','#submit',function(){
    	var identifiant = $("#identifiant").val();
    	var motdepasse = $("#motdepasse").val();
     
    	$.ajax({
    		url:'php/connecter.php',
    		type : 'POST',
    		data : {
    			identifiant:identifiant,
    			motdepasse:motdepasse,
    		},
           success : function(data){
               alert(data);
               location.href="acceuil.html";
           },
           error : function(data){
           	alert(data);
           },
    	});
     
    });
    Merci de m'aider.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Faut pas de virgule après le dernier élément de l'objet data.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //...
    data : {
    		identifiant:identifiant,
    		motdepasse:motdepasse
    	},
    //...
    Plus généralement utilise l'onglet console après avoir fait F12 pour voir les erreurs javascript.

  3. #3
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Je ne suis pas certain que ce soit la virgule (les virgules en fait, il y en a une autre plus bas) qui pose problème. Ça ne dérange pas l’interpréteur de Firefox par exemple (j’ai la flemme de tester sous Chrome mais je suppose qu’il ne sera pas dérangé non plus).

    Cela dit, le conseil d’ABCIWEB d’utiliser la console reste tout à fait bon.

    Dans ton cas, ambi86, je pense que tu as plutôt une mauvaise compréhension de ce qui est considéré comme une erreur ajax.

    En ces temps anciens où jQuery n’était pas encore né et où l’on n’avait que la méthode onreadystatechange pour gérer les évènements ajax, il fallait tester la valeur de xhr.status pour connaître le code de réponse HTTP. Une valeur de 200 signifie une réussite, une valeur entre 400 et 499 inclus signifie une erreur. Et pourtant, ces deux cas sont considérés comme une réussite car la réponse du serveur est parvenue jusqu’au client.

    Une erreur ajax se produit dans deux cas :
    • quand la requête n’est pas envoyée à cause d’un problème de permission ;
    • quand le client n’a pas de connexion au réseau


    Et dans ton cas c’est encore différent car ce que tu considères comme une erreur au niveau métier de ton application n’a rien à voir avec une erreur de réseau ni une erreur HTTP. Dans tous les cas (quand les choses fonctionnent correctement), ton serveur renvoie une réponse avec le code 200. Il n’est pas conseillé de modifier le code HTTP, sauf si tu construis une API REST.

    Donc ce que tu dois faire, c’est examiner le message du serveur dans la fonction success, et utiliser un ou plusieurs if pour déterminer si ça correspond à une erreur ou une réussite au niveau métier.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. [Qt WebKit] Site en AJAX non fonctionnel
    Par Invité dans le forum Moteurs Web
    Réponses: 0
    Dernier message: 04/05/2012, 04h19
  2. Plugin non fonctionnel après requête AJAX
    Par florianlyon dans le forum jQuery
    Réponses: 8
    Dernier message: 05/07/2011, 08h56
  3. timage non fonctionnel !!
    Par micky13 dans le forum Delphi
    Réponses: 5
    Dernier message: 13/05/2006, 07h21
  4. Update non fonctionnel
    Par kissmytoe dans le forum Access
    Réponses: 7
    Dernier message: 07/03/2006, 18h37
  5. [REPORTS] Order BY non fonctionnel
    Par sdiack dans le forum Reports
    Réponses: 2
    Dernier message: 10/02/2006, 18h10

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