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 sur ajax.php


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut Erreur 500 sur ajax.php
    Bonjour,

    j'ai un petit soucis avec un script ajax

    le script

    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
    $(document).ready(function(){
    $("#compa1").change(function() {
      var selectedVal = $('#compa1 :selected').val();
      console.log('Selected value : ' + selectedVal);
      var val = jQuery(this).val();
      var query = $.ajax({
    	type: 'POST',
    	url: '../../modules/compatibilite/ajax.php',
            data: 'compa1='+ val, // on envoie $_GET['compa1']
            dataType: 'json',
            success: function(json) {
                $.each(json, function(id_compa2, value_compa2) {
                $('#compa2').append('<option value="'+ index_compa2 +'">'+ value_compa2 +'</option>');
            });
    }
    });
    console.log('Data : ' + val);
    });
    });
    et le fichier ajax.php

    Code php : 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
    <?php
    require_once(dirname(__FILE__).'../../../config/config.inc.php');
    require_once(dirname(__FILE__).'../../../init.php');
    include(dirname(__FILE__).'/compatibilite.php');
    switch (Tools::getValue('compa1')) {
      case 'compa1' :
    	$filtre_compa2=$_POST['compa1'];
    	$aff_filtre_compa2=Db::getInstance()->ExecuteS('select id, value from '._DB_PREFIX_.'compatibilite2 WHERE id_compa1='.$filtre_compa2.'');
    	foreach ($aff_filtre_compa2 as $result_compa2) 
    	{
        die( Tools::jsonEncode( array('id_compa2'=>'id')
    	('value_compa2'=>'value')
    	);
    	}
        break;
      default:
        exit;
    }
    exit;

    j'ai une erreur 500 sur le fichier ajax.php et un message dans la console (anonymous function) sur $.ajax du fichier js

    je vous précise que je suis en train de dev un module pour prestashop

    merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben ca te dit joyeusement que le serveur a eu une erreur interne en voulant exécuter ta demande.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    oui ça j'avais compris pour l'erreur interne, mais j'arrive pas à trouver d'ou ça viens...

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($aff_filtre_compa2 as $result_compa2){
        die( Tools::jsonEncode( array('id_compa2'=>'id')
    	('value_compa2'=>'value')
        );
    }
    t'es sûr que tu sais ce que tu fais là ?
    Déjà, un die() dans une boucle, ça pique un peu les yeux, mais le paramètre passé à la méthode me semble assez incohérent.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    pour le die, je l'ai supprimer, et en effet pour la method c'est pas bon non plus
    je te remet le code js

    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
    $(document).ready(function(){
    $("#compa1").change(function() {
      var selectedVal = $('#compa1 :selected').val();
      console.log('Selected value : ' + selectedVal);
      $.ajax({
    				type: 'POST',
    				url: '../../modules/compatibilite/ajax.php',
                    data: 'method=compa1&compa1='+ selectedVal, // on envoie $_GET['compa1']
                    dataType: 'json',
                    success: function(json) {
                        $.each(json, function(id_compa2, value_compa2) {
                            $('#compa2').append('<option value="'+ id_compa2 +'">'+ value_compa2 +'</option>');
                        });
                    }
                });
    	console.log('Data : ' + selectedVal);
    });
    });

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    je te remet le code js
    Je doute que ce soit JavaScript qui renvoie une erreur 500.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    en effet c'est le fichier ajax.php...

    Code php : 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
    require_once(dirname(__FILE__).'../../../config/config.inc.php');
    require_once(dirname(__FILE__).'../../../init.php');
    include(dirname(__FILE__).'/compatibilite.php');
    switch (Tools::getValue('compa1')) {
      case 'compa1' :
    	$filtre_compa2=$_POST['compa1'];
    	$aff_filtre_compa2=Db::getInstance()->ExecuteS('select id, value from '._DB_PREFIX_.'compatibilite2 WHERE id_compa1='.$filtre_compa2.'');
    	foreach ($aff_filtre_compa2 as $result_compa2) 
    	{
        Tools::jsonEncode( array('id_compa2'=>'id_compa2')
    								('value_compa2'=>'value_compa2')
    								);
    	}
        break;
      default:
        exit;
    }
    exit;

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    en effet pour la method c'est pas bon non plus
    C'est toujours pas bon ça...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    j'ai modifié ça switch (Tools::getValue('method'))
    pour pouvoir faire le switch...

    mais ça fonctionne pas...

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    le paramètre passé à la méthode me semble assez incohérent.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Tools::jsonEncode( array('id_compa2'=>'id_compa2')
    	('value_compa2'=>'value_compa2')
    );
    Cette notation ne veut rien dire !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    c'est à dire ?

  12. #12
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Tools::jsonEncode( array('result_compa2['id']'=>'id_compa2')
    								('result_compa2['value']'=>'value_compa2')
    								);
    dans ce style ça serai peut être mieux non ?

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    non
    revois la syntaxe des arrays en php ...

    Mais en tout état de cause cela n'a rien à voir avec js ni jquery => pas le bon forum ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Non.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tools::jsonEncode( array('id_compa2'=>'id_compa2')('value_compa2'=>'value_compa2')));
    La syntaxe est incorrecte...
    Si tu veux passer plusieurs paramètres, il faut les séparer par une virgule, si tu veux passer un tableau avec plusieurs valeurs, il ne faut pas de parenthèses entre les valeurs mais les séparer par des virgules...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  15. #15
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    et l'erreur 500 peut venir de la ?

  16. #16
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Il y a de fortes chances
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  17. #17
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    donc ça devrait ressembler à ça

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    foreach ($aff_filtre_compa2 as $result_compa2) {
    	$id_compa2_array=$result_compa2['id'];
    	$value_compa2_array=$result_compa2['value'];
        Tools::jsonEncode( array(id_compa2=>$id_compa2_array,
    							value_compa2=>$value_compa2_array,)
    								);

  18. #18
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    bon avec ce code je n'ai plus l'erreur 500 mais une autre au niveau du js cette fois

    Uncaught TypeError: Cannot read property 'length' of null

    en référence à ces lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    success: function(json) {
                        $.each(json, function(id_compa2, value_compa2) {
                            $('#compa1').append('<option value="'+ id_compa2 +'">'+ value_compa2 +'</option>');
    si je comprend le message ça n'arrive pas à lire le tableau en retour ?

  19. #19
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    array(id_compa2=>$id_compa2_array,
    	value_compa2=>$value_compa2_array,)

    Ecrit comme ça, PHP s'attend à ce que id_compa2 et autres clés correspondent aux valeurs des constantes du même nom (qui n'existent pas bien sûr)...
    http://php.net/manual/fr/function.array.php
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  20. #20
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    je crée les variables juste au dessus...

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/09/2010, 20h26
  2. Réponses: 5
    Dernier message: 20/07/2008, 13h38
  3. Erreur 500 sur un POST
    Par bannik dans le forum Apache
    Réponses: 3
    Dernier message: 02/07/2008, 17h04

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