Partage
  • Partager sur Facebook
  • Partager sur Twitter

[AJAX] SyntaxError: Unexpected end of JSON input

Sujet résolu
    11 juillet 2019 à 17:12:29

    Bonjour,

    J'essaye de récupérer en AJAX des données présents dans ma base de donnée sous format JSON, mais j'obtient le fameux message:

    [object Object] | parsererror | SyntaxError: Unexpected end of JSON input

    Avec [object Object] le résultat, parsererror le statut et SyntaxError: Unexpected end of JSON input l'erreur.

    J'utilise:

        -Un script php: 

    <?php
    header("Content-Type: application/json");
    	
      $msgErrorJSON = 'und';
    				
    		$listInfo['statusFin']['txtStatus']			= 'fin';
    		$listInfo['statusCom']['txtStatut']			= 'comm';
    		$listInfo['statusattLiv']['txtStatut']		= 'attLiv';
    		$listInfo['statusLiv']['txtStatut']			= 'Liv';
    		$listInfo['statusFac']['txtStatut']			= 'Fac';
    
    		$ret['action'] = 'success';
    		$ret['message'] = $listInfo;
      
      $retJSON = json_encode($ret);
      
        echo $retJSON;
     



        -Un script JQuery:

    $.ajax({
                  url: BASE_URL + 'ajax/nomFichier.html',
                  type: 'POST',
                  data: {'jour': jour, 'semaine': semaine, 'mois': mois, 'annee': annee},
                  dataType: 'json',
                  success: function(donnees, statut){
                    retourAction = donnees.action;
                    retourMessage = donnees.message;
                    switch(retourAction) {
                      case 'succes':
                        console.log('Retour AJAX : ' + retourAction + ' | ' + retourMessage + ' | ' + statut);
                      break;
                      case 'erreur':
                      default:
                        console.log('Retour AJAX : ' + ' | ' + donnees + ' | ' + statut);
                        $('#boxAffichageDetailleJour').empty().html('<p class="callout alert">' + retourMessage + '</p>');
                      break;
                    }
                  },
                  error : function(resultat, statut, erreur){
                    console.log('Erreur AJAX : ' + resultat + ' | ' + statut + ' | ' + erreur);
                    $('#boxAffichageDetailleJour').empty().html('<p class="callout alert">' + 'Une erreur est survenue durant la génération des informations.' + '</p>');
                  }
                });

    Merci d'avance et bonne journée.

    -
    Edité par Ieshi 11 juillet 2019 à 17:39:13

    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2019 à 21:53:46

      Bonjour,

      Le fichier qui contient ton script php, sur ton serveur il est en .html ?
      Si c'est le cas essaye avec .php

      (parce que coter javascript je ne vois aucune erreur (et s'il n'y a que ça comme javascript, l'erreur ne peut pas venir de la '-')

      • Partager sur Facebook
      • Partager sur Twitter
        11 juillet 2019 à 22:20:55

        Bonsoir.

        Tu essaies d'afficher un objet dans une chaîne de caractères (console), c'est donc normal que tu aies une erreur.

        Tu ne peux pas non plus injecter un objet dans du code HTML.

        • Partager sur Facebook
        • Partager sur Twitter

        Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

          12 juillet 2019 à 8:10:31

          Bonjour,

          J'ai trouvé ! L'erreur est au niveau du mapping, je travaille sur un site web écrit en MVC et j'ai oublié d'ajouter le mapping du fichier dans le controller ... mdr ... lol ...

          Merci beaucoup et bonne journée.

          • Partager sur Facebook
          • Partager sur Twitter

          [AJAX] SyntaxError: Unexpected end of JSON input

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown