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 :

Debugger requête AJAX (error) [AJAX]


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2020
    Messages : 18
    Points : 23
    Points
    23
    Par défaut Debugger requête AJAX (error)
    Bonjour à tous.

    J'ai une requête AJAX assez complexe qui fonctionne en ligne, mais bugue en local (php 8.1).
    Pour localiser les erreurs, j'ai essayé d'utiliser la méthode error après la méthode success.
    Mais cette méthode elle-même bugue.

    Dans la console, j'ai le message :
    Uncaught SyntaxError: missing } after property listaccueil1.php:88:2
    note: { opened at line 64, column 8accueil1.php:64:8
    Et les erreurs pointent vers les lignes suivantes (en gras ; ligne 64->1, ligne 88 ->24) :
    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
    $.ajax({
        url: "ajax_requeteI.php",
        type: 'post',
        data: fd,
        dataType: 'json',
        contentType: false,
        processData: false,
        success: function(response) {
            $("#btn_closeI").get(0).click();
            $(".loader_container").css("display", "none");
            if (response != "") {
                //alert(response.res);
                if (response.res == 1) {
                    $(document).prop('title', "xxxxxxxx");
                    $("#content").html(response.result);
                }
                else {
                    alert(response.result);
                }
            }
            else {}
        } // fin de success
        error: function() {}
    }); // fin de $.ajax
    Merci de m'aider à y voir plus clair.

    JD

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Bonjour,

    Il manque une virgule après la fin de la fonction success
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    success: function(response) {
    ...
    }, // fin de success
    error:function(){}
    Attention, les fonctions de rappel success et error seront supprimées dans les versions récentes de jQuery, il faut les remplacer par done et fail

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2020
    Messages : 18
    Points : 23
    Points
    23
    Par défaut
    Merci Toufik.
    Erreur bête. Manque de pratique.

    Cependant mon problème d'exécution de requête n'est pas résolu. La requête tourne, mais rien ne se produit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		fail: function(jqXHR, textStatus, errorThrown) {
    			console.log(JSON.stringify(jqXHR));
    			console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
    		}
    Idem avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fail: function(jqXHR, textStatus, errorThrown) {
    			alert(JSON.stringify(jqXHR));
    			alert("AJAX error: " + textStatus + ' : ' + errorThrown);
    		},
    J'ai ajouté timeout: 15000 mais la requête continue de tourner indéfiniment...
    Alors qu'en ligne, elle s'exécute en 5 secondes.
    Hébergement : PHP Version 5.6.40-61+ubuntu20.04.1+deb.sury.org+1
    Local : PHP Version 8.1.10

    Pour être complet, dans la console, j'ai aussi cette erreur :
    Uncaught TypeError: c.browser is undefined
    jQuery 2
    jquery-ui.min.js:10:45
    jQuery 2
    Elle n'apparaît pas en ligne.

    Merci et bonne journée.

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    est ce que vous voyez bien l'envoi de la requête dans le panneau "Réseau" ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2020
    Messages : 18
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par mathieu Voir le message
    est ce que vous voyez bien l'envoi de la requête dans le panneau "Réseau" ?
    Yes ! elle apparaît bien ; on entre, mais on ne sort pas !

    Merci Mathieu.

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    et vous voyez aussi la réponse du serveur ? ou c'est peut être le serveur qui met du temps à répondre ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2020
    Messages : 18
    Points : 23
    Points
    23
    Par défaut
    Eh bien non ; voici la capture d'écran (au bout de 10 mn) :
    Nom : Capture.JPG
Affichages : 476
Taille : 38,3 Ko

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    il y a marqué "2 ms" tout à droite donc il devrait y avoir une réponse. cliquez sur la ligne et regardez l'onglet "réponse".

  9. #9
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2020
    Messages : 18
    Points : 23
    Points
    23
    Par défaut
    Hello Mathieu.

    Cette fois-ci, la colonne reste obstinément à "0 ms", et au bout de 20mn 35mn l'onglet "Réponse" à "Aucune donnée disponible en réponse à cette requête"...

    Par comparaison, sur le serveur distant, voici le résultat :
    Nom : Capture1.JPG
Affichages : 455
Taille : 10,9 Ko

    Et les réponses sont bien présentes.
    Mais j'observe qu'en local, la taille est de 0 ko, alors qu'en distant, elle est de 18.58 ko. Peut-être une piste ?

  10. #10
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Bonjour,

    D'abord le done et fail sont mal placés dans ton code, les méthodes de $.ajax s'écrivent comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $.ajax({
    ...
    })
    .done(function( data, textStatus, jqXHR ) {
       //code en cas du succès 
    })
    .fail(function( jqXHR, textStatus, errorThrown ) {
       //code en cas d'erreur
    });
    Puis si l'erreur apparait seulement en local et que la requête ajax télécharge des fichiers au serveur, je pense donc que c'est un problème de configuration de php.ini au niveau des paramètres post_max_size ou file_uploads.

    Essayez de :
    • Décommenter ces paramètres en supprimant le diez "#" au début de la ligne
    • Activer le téléchargement des fichiers au serveur en initialisant la valeur de file_uploads à "On" file_uploads = On
    • Augmenter la valeur de post_max_size à 20M (20 méga)

  11. #11
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2020
    Messages : 18
    Points : 23
    Points
    23
    Par défaut
    Eh bien c'est super, Toufik ; tes conseils m'ont permis de détecter et réparer les bugs de la requête.
    Le php.ini était bon, c'était la structure du $.ajax qui pêchait.

    Me voilà reparti dans la traque des erreurs de code (encore 2 ou 3 requêtes à réparer).

    Pendant que j'y suis, une question plus générale (je créerai une nouvelle discussion dans le forum que tu m'indiqueras si nécessaire) :

    Jusqu'ici je travaillais sous Linux et j'éditais le code directement en ligne, avec VSCode.
    Je suis de retour sous Windows, et je n'ai pas trouvé de solution équivalente. En existe-t-il une ???

    Merci pour aide experte.

    JD

  12. #12
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Bonjour,

    Identifier la source du problème est déjà un bon départ.

    Vous pouvez poser vos questions sur le forum d'ajax

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête ajax renvoie error
    Par student_php dans le forum jQuery
    Réponses: 5
    Dernier message: 27/01/2012, 18h48
  2. [AJAX] Exécuter 2 requêtes ajax/php.
    Par djalilk dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 22/10/2007, 11h52
  3. [AJAX] Résultat de requête Ajax vide sous IE, mais pas sous FF
    Par brazilia28 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/09/2007, 16h18
  4. Réponse à requête AJAX
    Par Mister Nono dans le forum Struts 1
    Réponses: 2
    Dernier message: 03/07/2007, 13h19
  5. [AJAX] Centraliser les requêtes AJAX afin d'avoir un seul appel
    Par Mike_69 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/03/2007, 16h51

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