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 :

Json ne semble pas s'envoyer. [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Par défaut Json ne semble pas s'envoyer.
    Bonjour à tous,

    j'ai un petit problème. Je souhaite, afficher en ajax un fenetre modale, pour la préremplir, j'utilise JSON. Seulement, il semblerait que les données ne parviennent pas à voyager de php a javascript.
    Je sais que mon code PHP est correct (les données sont bien récupérées).
    Voici la fin de mon PHP, si vous avez besoin de plus, je mettrais plus :



    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //die('groupe id : '.$json['ids'] . '<br/>status : '.$json['status'].'<br/>nom : '.$json['noms'].'<br/>auhtorizedamount : ' . $json['settings']['authorized_amount']);
            // Le die donne les bonnes informations, mon tableau se rempli donc correctement.
    		$this->getResponse()->setContentType('application/json');
     		$json = json_encode($json);
     		$this->renderText($json); 
            return sfView::NONE;


    Du coté du javascript, voici le début, la encore, je pourrais mettre plus, mais je ne pense pas que c'est nécessaire. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        // Affichage de la modale de modification des paramètres d'un groupe (pour un seul)
    	$(document).on('click', '.sf_admin_action_voir', function(e) {
    		e.preventDefault();
    		$.get($(this).attr('href'), function(data){
                        //cette alert retourne la valeur : "undefined"
    					alert("data.ids : "+ data.ids);
    Si quelqu'un a une idée de pourquoi ca ne marche pas, je suis preneur =)

    Merci d'avance.


    EDIT : Le problème à l'air de venir de "$(this).attr('href')" qui retourne "undefined" comme valeur. Quand je met le href en dur, ca fonctionne. Est-ce que quelqu'un sait pourquoi $(this).attr('href') ne me retourne pas le href correct?

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Attention à la portée de this ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).on('click', '.sf_admin_action_voir', function(e) {
    		e.preventDefault();
                    myhref=$(this).attr('href')
    		$.get(myhref, function(data){
                        //cette alert retourne la valeur : "undefined"
    					alert("data.ids : "+ data.ids);
    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 !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Par défaut
    Même en mettant le $(this) en dehors de l'appel de la fonction, ça ne marche toujours pas.

    J'ai donc mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Affichage de la modale de modification des paramètres d'un groupe (pour un seul)
    	$(document).on('click', '.sf_admin_action_voir', function(e) {
    		myhref=$(this).attr('href');
    		console.log("href : " + myhref);
    Et la console me retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    href : undefined
    Resource interpreted as Document but transferred with MIME type application/json: "http://localhost:8091/groupe/2/ListVoir".
    Pourtant, mon lien est bien correct :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/groupe/2/ListVoir">Voir</a>

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    on peut voir le code html de l'objet de classe '.sf_admin_action_voir'
    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 !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Par défaut
    Voici le HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <li class="sf_admin_action_voir">
        <a href="/groupe/1/ListVoir">Voir</a>
    </li>
    Le this prend t'il en compte la balise a ou seulement la li?

    Du coup, si il ne prend que la li, ça expliquerait le problème.
    Si c'est bien cela, y a t'il moyen de récupérer ce href sans changer le html?

    EDIT : C'est bon, j'ai trouvé moi même la réponse a ma dernière question, il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$(document).on('click', '.sf_admin_action_voir a', function(e) {
    		var myhref=$(this).attr('href');
    		console.log("var href : " + myhref);
    --

    Merci pour ton aide SpaceFrog.
    Je passe le sujet en résolu.

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    oui enfin il suffit de deleguer de la classe au a pas besoin d'invoquer le doument pour ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(".sf_admin_action_voir").on('click', 'a', function(e) {
    		var myhref=$(this).attr('href');
    		console.log("var href : " + myhref);
    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 !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/11/2018, 19h13
  2. setFont ne semble pas fonctionner
    Par Nico57 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 25/07/2007, 14h37
  3. Ma table temporaire ne semble pas fonctionner.
    Par outshined dans le forum Requêtes
    Réponses: 2
    Dernier message: 12/09/2006, 14h40
  4. [SQL] La valeur d'une variable ne semble pas être prise en compte
    Par oroumgolok dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/09/2006, 23h31
  5. [MySQL] ORDER BY qui ne semble pas pris en compte
    Par yongblood dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/03/2006, 12h53

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