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 :

Erreur 500 xhr avec la méthode POST


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2021
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Erreur 500 xhr avec la méthode POST
    Bonjour,

    J'ai un souci avec une erreur 500 XHR en post en Ajax.
    Mon souci est que j'ai une modale qui s'affiche pour créer un événement dans un calendrier et quand je sélectionne le champs "jour complet" (j'utilise la librairie full calendar), la requête ne s'effectue pas correctement.

    Voici mon 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
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
      //Clic sur bouton "JOUR COMPLET"
                        $('#c_allDay').on('click', function() {
                            console.log('clicked');
                            toggleDisable('bookingModal', false);
                        });
     
                        $('#saveBtn').on('click', function() {
                            console.log('save bouton cliqué');
                            recuperationDataForm('bookingModal', 'saveBtn', start, false, typeChamp)
                                .then((retour) => {
                                    console.log('Résultat:', retour); // Utilisation du résultat en cas de réussite
                                    dataForm = retour;
                                    console.log('dataform : ', dataForm);
                                    $.ajax({
                                        url: "{{ route('evenement-calendrier.store') }}",
                                        type: "POST",
                                        dataType: 'json',
                                        data: dataForm,
                                        success: function(response) {
                                            //Si la requête est un succès on stocke la réponse pour créer un nouvel évenement pout l'afficher ensuite
                                            // Ajout des evenements au calendrier                                       
                                            console.log('response : ', response);
     
                                            //Changement de la couleur selon etat_id
                                            monetatid = response.extendedProps['etat_id'];
     
                                            switch (monetatid) {
                                                case 16 : macouleur = 'red';
                                                            break;
                                                case 17 : macouleur = 'orange';
                                                            break;
                                                case 20 : macouleur = 'green';
                                                            break;
                                                case 25 : macouleur = 'black';
                                                            break;
                                                default :   macouleur = 'red';
                                                            break;
                                            }
     
                                            //Changement affichage selon etat
                                            mondisplay = response.extendedProps['etat'];
                                            if (mondisplay == 10){
                                                mondisplay = 'list-item';
                                            }else{
                                                mondisplay = 'block';
                                            }
     
                                            //AJOUT EVENEMENT DANS LE CALDENDRIER
                                            var newEvent = {
                                                title: response.title,
                                                start: response.start,
                                                end: response.end,
                                                allDay: response.jourComplet,
                                                borderColor : macouleur,
                                                backgroundColor : macouleur,
                                                display : mondisplay,
                                                id: response.id,
                                                extendedProps: {
                                                    description: response.extendedProps['description'],
                                                    code_cli_pro: response.extendedProps['code_cli_pro'],
                                                    user_id: response.extendedProps['user_id'],
                                                    type_evenement: response.extendedProps['type_evenement'],
                                                    etat: response.extendedProps['etat'],
                                                    synthese: response.extendedProps['synthese'],
                                                    nom_cli_pro: response.extendedProps['objet'],
                                                },                                            
                                            }
                                            calendrier.addEvent(newEvent);
                                            memorize(newEvent.extendedProps.user_id,newEvent.title,newEvent.extendedProps.code_cli_pro,newEvent.id,newEvent.start,newEvent.end);
     
                                            console.log('Ajouté OK');
     
     
                                            //REFRESH PAGE EN ATTENDANT DE CORRIGER LE BUG AUTOCOMPLETE
                                            // (qui ne fontionne pas après fermeture d'un modal)
                                            //location.reload();
                                            console.log('Apres reload');
                                        },
                                        error: function(error) {}
                                    });
                                })
                                .catch((error) => {
                                    console.error('Erreur:', error); // Gestion des erreurs
                                });
                            //Requête Ajax pour envoyer l'evenement sur 'evenement.store'
     
                        });
    Merci d avance de cotre aide.
    Cdt

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 355
    Points : 15 701
    Points
    15 701
    Par défaut
    si la requête http retourne une erreur 500 c'est qu'il y un souci du côté du serveur donc il faut voir ça avec la personne qui a développé la partie serveur.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2021
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    ce qui est étrange c'est que cela fonctionne quand le jour entier n'est pas coché.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2021
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    bonjour j'ai vu qu'il y avait une erreur SQL Error 2007 mais je comprends pas car mon format de dat est corrct en base de donnees.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2021
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    En fait, vu que c'est un jour complet, c'est le format par défaut dans le message qui apparaît :
    "SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2024-06-26 :00' for column
    sauf que il attend un format comme ca: 2024-06-25 10:15:00.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2021
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2021
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    c'est un format Luxon c'est une librairie JS. Donc je ne sais pas comment le forcer à prendre le format qui convient en base de données.
    Et je pense que c'est ce code la qui ets a revoir:

    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
                    //SI BOUTON "MODIF" : récupération de la date début
                    if (bouton == 'modifBtn'){
                        dateD = $('#' + nomChamp['start']).val();
                        start_date = dateD + ' ' + heure_debut + ':00'; // Fusionne les chaine de caractère date de debut et heure de debut
                    //SI BOUTON "CREER" : récupération de la du jour CLIQUE
                    }else{
                        //console.log('start date = ' + start);
                        if (start instanceof Date) {
                            var dateD = getDate(start);
                            //console.log("dateD=="+dateD);
                            // start_date = dateD + ' ' + heure_debut + '00:00:00';
                            start_date = dateD + ' ' + heure_debut + ':00';
                            //console.log("start_date=="+start_date);
                        } else {
                            date_debut = start.startStr + ' ' + heure_debut + '00:00:00';
                            date_debut = start.startStr + ' ' + heure_debut + ':00'; // Fusionne les chaine de caractère date de debut et heure de debut
                            // start_date = luxon.DateTime.fromFormat(date_debut, 'dd-MM-yyyy HH:mm').toFormat('yyyy-MM-dd HH:mm:ss'); // Formate la date dans  le bon format
                            start_date = date_debut;
                            //console.log('start_date', start_date);
                            //console.log('start', start);
                        }
                    }
                    console.log('start date = ' + start_date);
                    console.log('user = ' + user_id);
    Mais je sais pas comment.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/12/2009, 14h26
  2. Erreurs 500 avec apache2/php5
    Par jforks dans le forum Apache
    Réponses: 3
    Dernier message: 07/04/2008, 12h04
  3. [GD] Erreur 500 avec script d'une ligne
    Par keul dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 24/09/2007, 10h50
  4. [SQL-Server] Erreur 500 lors d'un script php avec sql
    Par DeusDavid dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/12/2006, 18h47

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