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 :

Capture d'erreur pour .getJson


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Par défaut Capture d'erreur pour .getJson
    Bonjour,
    Depuis quelques jours je tourne en rond sur Google, ebooks et les forums à chercher comment capturer l'erreur survenue suite à un appel à la fonction .getJson
    mon code est le suivant
    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
     
    <!DOCTYPE html>
    <html>
     
    <head>
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <script>
            $(document).ready(function () {
                REST_API_URL = "http://localhost:8080/Routing/sql" 
                $("button").click(function () 
                {
                    $.getJSON(REST_API_URL,
                                function (result) 
                                {
                                    alert("J'ai reçu quelque chose !");
                                }
                            )
                    .fail(function (xhr, textStatus, msg) 
                            {
                                alert("textStatus = " + textStatus);
                                alert("msg = " + msg);
                            }
                        );
                });
            });
        </script>
    </head>
    <body>
        <button>Get JSON data</button>
        <div></div>
    </body>
    </html>
    Mais je n'arrive pas à avoir le statut de la requête en erreur 404, 502, 403 ou autre, uniquement
    • textStatus = error
    • msg reste vide


    Merci d'avance de votre aide

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 563
    Par défaut
    essayez avec l'affichage de la console, vous aurez peut-être des retours sous forme d'objets avec plus d'informations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .fail(function (xhr, textStatus, msg) 
        {
            console.log(xhr);
            console.log(textStatus);
            console.log(msg);
        }
    );

  3. #3
    Membre très actif Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Par défaut
    Bonjour,
    Merci de votre réponse, j'ai essayé d'afficher les informations dans la console, voilà ce que je vois

    Sous la console de I.E
    SCRIPT7002: XMLHttpRequest: Erreur réseau 0x2efd, Impossible d'effectuer l'opération à cause de l'erreur suivante 00002efd.
    Fichier*: nizar.html
    xhr : =>
    [object Object]
    {
    [functions]: ,
    __proto__: { },
    readyState: 0,
    responseJSON: undefined,
    status: 0,
    statusText: "error"
    }

    textStatus : =>
    error
    msg : =>


    Sous la console de chrome
    nizar.html:11 GET http://localhost:8080/Routing/sql net::ERR_CONNECTION_REFUSED
    send @ jquery.min.js:4
    ajax @ jquery.min.js:4
    r.(anonymous function) @ jquery.min.js:4
    getJSON @ jquery.min.js:4
    (anonymous) @ nizar.html:11
    dispatch @ jquery.min.js:3
    q.handle @ jquery.min.js:3
    nizar.html:19 xhr : =>
    nizar.html:20 Object {readyState: 0, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}abort: function (a)always: function ()catch: function (a)done: function ()fail: function ()getAllResponseHeaders: function ()getResponseHeader: function (a)overrideMimeType: function (a)pipe: function ()progress: function ()promise: function (a)readyState: 0responseJSON: undefinedsetRequestHeader: function (a,b)state: function ()status: 0statusCode: function (a)statusText: "error"then: function (b,d,e)__proto__: Object
    nizar.html:21 textStatus : =>
    nizar.html:22 error
    nizar.html:23 msg : =>
    nizar.html:24
    P.S : je ne suis qu'un débutant béta en JavaScript

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 563
    Par défaut
    ce n'est pas un soucis de JavaScript, ces erreurs indiquent qu'il n'y a pas de serveur à l'adresse http://localhost:8080/

  5. #5
    Membre très actif Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Par défaut
    Bonjour,
    et comment les capturer par programmation ? faire un try/catch ou autre ? il faut que je renvoi ces erreurs à l'utilisateur.

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

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Tu testes si status = 0. Ce n’est pas un cas d’erreur précis, tu ne peux pas faire la différence entre ces deux situations :
    • le serveur n’existe pas
    • la machine cliente a un problème de connexion

    Tiens compte de ça dans le message que tu adresses à l’utilisateur.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. capture d'erreur dans un ksh pour oracle
    Par juin29 dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 22/06/2009, 15h51
  2. Erreur pour la création d'un XMLService
    Par jacma dans le forum XMLRAD
    Réponses: 13
    Dernier message: 25/07/2005, 23h26
  3. [C#]Erreur pour remplir mon dataset
    Par liliprog dans le forum Windows Forms
    Réponses: 16
    Dernier message: 15/07/2005, 19h03
  4. [DOM] Erreur pour valider une DTD
    Par lenghh dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 19/05/2004, 18h15

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