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 :

Passer un tableau volumineux à PHP [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut Passer un tableau volumineux à PHP
    Bonjour à Tous,

    Via Ajax, je souhaite passer un tableau, assez volumineux, à PHP.

    Côté Jquery :

    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
    var affNodes = [];
    $.each(nodes, function(i, val) {
    	affNodes.push({
                id: val['id'], 
                pid:val['pId'],
    	    isParent:val['isParent'],
    	    children:val['children']
           	});
    });
    var myJSON = JSON.stringify(affNodes); 
    //console.log(myJSON);
    $.ajax ( {
    	url : "<?php echo $xhr; ?>",
    	type : "post",
    	data : "tab=" + myJSON,
    	success: function(data){alert(data);}
    });
    Note : le console.log affiche bien les données du tableau au format JSON.
    Note2 : les clés id et pid sont toujours présentes dans le tableau affNodes. La clé isParent est un boléen. La clé children est soit vide, soit un tableau. J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    children:JSON.stringify(val['children'])
    Ca ne change rien.

    Côté PHP, simplement :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $arrayJSON = json_decode($_POST['tab_cat'], true); 
    echo '<pre>';
    print_r($arrayJSON);
    echo '</pre>';

    Mais le tableau est vide...
    Alors que si je ne passe que les clés id et pid dans le tableau affNodes; ça fonctionne !
    Sauriez-vous me dire ce qui cloche ?
    Je vous en remercie d'avance.

  2. #2
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Arrggghh !!!
    Il fallait simplement écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    data : {tab_cat: myJSON}
    AU lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    date : "tab_cat=" + myJSON
    Sommes-nous peu de choses...

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

Discussions similaires

  1. [PHP 5.3] Passer un tableau PHP en Javascript
    Par triaguae dans le forum Langage
    Réponses: 8
    Dernier message: 28/11/2011, 15h21
  2. Passer un tableau à un script PHP
    Par JCD21 dans le forum Langage
    Réponses: 3
    Dernier message: 24/06/2011, 15h21
  3. Réponses: 2
    Dernier message: 22/12/2009, 15h01
  4. Passer un tableau PHP en argument dans une fonction javascript ?
    Par The Molo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/05/2007, 12h31
  5. [PHP-JS] Passer un tableau php en tableau JS
    Par dark_vidor dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/12/2005, 11h36

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