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

JavaScript Discussion :

[AJAX][post]tableau


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Points : 41
    Points
    41
    Par défaut [AJAX][post]tableau
    Bonjour,

    J'aimerais savoir comment on fait pour envoyé un tableau en ajax en post.
    j'ai un tableau de fonction que j'aimerais envoyé au serveur.
    Le probleme c'est que le post s'ecrit sous forme de chaine de caractere donc je ne vois pas comment on fait

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    un tableau de fonctions

    tu peux donner un exemple de ce que tu veux envoyer (et de l'effet que tu veux que ça ait) ?

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    ben voila
    j'utilise de l'ajax un peu partout avec des fonctions qui se resemble parfois j'aimerais appeler deux fonctions a la suite mais le serveur deconne, il preffere une grosse demande que plusieurs petite.
    L'idée c'est donc de creer un server à laqu'elle j'envoie un tableau de fonction qu'il effectue et me retourne

    Les tableaux existent en html, javascript et se récupere facilement en php, donc voila ...

    suis je plus clair ?

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    le problème, c'est que tu ne peux faire transiter que de donneés via HTTP...

    et que les fonctions javascript qui peuvent exister sur ta page, bah le serveur n'en a pas du tout conscience...

    ce que tu peux faire, par contre, c'est un script PHP, qui, selon les données qu'il recevra, effectuera telles ou telles tâches...

    à ce moment, pour faire passer un tableau de DONNEES, il te suffit de donner le même nom à une série de variables, et que le nom finissent par : [] (crochet ouvrant, crochet fermant)

  5. #5
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    c'est exactement ca!
    je veux savoir faire transiter mon function[]

    le probleme c'est quand je fais mon post je fais quelque chose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xhr_object.send("function="+functionName+"&param1="+param1+"&group="+group);
    alors comment je fais passé proprement mon function[] ?

  6. #6
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    il suffit que le nom de ta variable (ici function) finisse par le [], tu peux même préciser des indices :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr_object.send("function[0][func]="+functionName+"&function[0][param1]="+param1+"&function[0][group]="+group);
    par exemple

  7. #7
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    je fais quelque chose comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            var tabFunction = new array();
            tabFunction[0]="listSite";
            tabFunction[1]="person";
            var tmp="function[]="+tabFunction+"&param="+list.item(list.selectedIndex).value;

    mais ca ne marche pas car sur le serveur j'ai ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $function = utf8_decode($post['function']); 
    if (is_array($function))
        {
            echo ( utf8_encode("tableau"));
            for ($i=0; $i < sizeof($function);$i++)
            echo ( utf8_encode($function[$i.";"]));
            return;
        }
    et il ne rentre pas

  8. #8
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    et pour cause : tu fais utf8_decode sur un tableau

  9. #9
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    c'est quoi un tableau XD ?

    Je fesais ca pour gérer les accents. Et je tiens à continuer à les gérer alors je fais comment ?

  10. #10
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    XD c'est un SMILEY ! XD ~~

    pour continuer à gérer les accents, il faut bien faire ut8_decode, mais pas sur function, uniquement sur ses éléments...

    au fait : $post['function'] ... je sais pas où t'as chopper cette syntaxe, mais chez moi ç'a toujours été $_POST['function']

  11. #11
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    Voici mon erreur, pourquoi il y a pas de parseur compilateur ou un truc evité ca c terrible !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var tabFunction = new Array();
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var tabFunction = new array();
    merci

    PS:
    $get = $HTTP_GET_VARS;
    $post = $HTTP_POST_VARS;

    if (!$post){
    $post = $get;
    }

    tu comprends mieux le $post ?

  12. #12
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par trach.sam
    $get = $HTTP_GET_VARS;
    $post = $HTTP_POST_VARS;

    if (!$post){
    $post = $get;
    }

    tu comprends mieux le $post ?
    oé mais ça sert à rien, ça dupplique de la mémoire pour rien, en plus maintenant, c'est $_POST et $_GET les noms longs c'est pour les anciennes (vielles) versions de PHP ^^

  13. #13
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    j'allais mettre resolu ms non
    en faite c'est pas un "vrai" tableau
    c'est un tableau de taille 1, il a separé les differents elements de mon tableau par des ",".
    alors il faut faire un explode(","$function[0])
    je trouve pas ca génial mais c'est mieux que rien et il reste bcp de taf

  14. #14
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 82
    Points : 41
    Points
    41
    Par défaut
    mais je voulais qd meme savoir qq chose!

    Quand vous appeler deux fonctions du serveur vous etes bien obliger de faire tout ca n'est ca pas ?
    parce que des appelles succesif au serveur ca merde! chez vous aussi n'est ce pas ?

Discussions similaires

  1. [AJAX] Ajax et tableau chargé à la volée ?
    Par bertra dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/12/2008, 11h15
  2. [AJAX] Le AJAX POST et le méchant &
    Par Invité dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/08/2008, 09h38
  3. [AJAX] Ajax post n'apparait pas
    Par systemz dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 26/06/2008, 21h19
  4. [AJAX] Création tableau
    Par Mat_DZ dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 01/08/2006, 17h30
  5. [AJAX] Ajax Post
    Par stela86 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 18/04/2006, 16h23

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