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 :

[1.3]passer un tableau via AJAX


Sujet :

jQuery

  1. #1
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut [1.3]passer un tableau via AJAX
    Bonjour à tous.

    Soit un formulaire classique appelant la méthode POST classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form action="form.php" ...>
    <input type="text" name="coucou[]" value="" />
    <input type="text" name="coucou[]" value="" />
    <input type="text" name="coucou[]" value="" />
    <input type="text" name="coucou[]" value="" />
    </form>
    Côté serveur, form.php va recevoir dans $_POST quelque chose du style :
    $_POST : Array
    (
    [coucou] => Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 5
    )
    )

    Maintenant, imaginons que je veuille passer par une requête AJAX pour ne pas avoir à recharger toute la page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        $.ajax({
            type: 'POST',
            url: 'form.php',
            dataType: 'xml',
            contentType: "application/x-www-form-urlencoded",
            data: {coucou: ???????????????},
            etc...
        });
    Comment dois-je renseigner data pour obtenir un résultat équivalent à celui du submit classique ? Y-a-t'il une astuce pour créer automatiquement/dynamiquement le tableau en argument d'url ? Comment passer un tableau de valeurs dont on ne connait pas la taile a priori (j'en ai 4 ici mais je pourrais en avoir 9563 aussi bien...) ?

  2. #2
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Ne cherchez plus, j'ai trouvé par hasard en cherchant une action de contournement à peu près propre...
    Il suffit de renseigner data comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $.ajax({
            type: 'POST',
            url: 'form.php',
            dataType: 'xml',
            contentType: "application/x-www-form-urlencoded",
            data: {coucou: 1,2,3,4,5},
            etc...
    });
    Elementson, mon cher Wataire

  3. #3
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    mouaip mais c'est prototype ou jquery ça ...
    j'aimerais bien savoir comme faire en js pur ...
    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 !

  4. #4
    Membre éprouvé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 950
    Par défaut
    salut,

    avec jquery, serialize est fait pour ca :
    http://docs.jquery.com/Ajax/serialize

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $.ajax({
            type: 'POST',
            url: 'form.php',
            dataType: 'xml',
            contentType: "application/x-www-form-urlencoded",
            data: $("form").serialize()
     
    });

  5. #5
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Super, merci pour le tuyau !!

    Décidément, plus je pratique jQuery, plus je l'aime. Quand je pense que j'ai attendu tout ce temps pour m'y lancer

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 66
    Par défaut
    Citation Envoyé par Herode Voir le message
    Super, merci pour le tuyau !!

    Décidément, plus je pratique jQuery, plus je l'aime. Quand je pense que j'ai attendu tout ce temps pour m'y lancer
    Oui c'est parfait lorsque l'on traite les données d'un formulaire, mais lorsque que l'on s'attaque à autres choses que des inputs comme des contenus d’éléments du DOM ça se corse. Je recherche aussi un moyen propre pour envoyer des arrays via ajax()... Je regarde du coté de JSON qui est interprété comme un string... Mais ça me semble quand même plutôt pas mal bricolé pour une action somme toute très basique...

  7. #7
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Quoi que tu fasses, tout ce que tu passes vai ajax est du string !
    String qui sera ensuite coté client ou coté serveur évalué ou parsé pour être retransformé en objet.
    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. Passer un tableau en javascript à une servlet Java via Ajax
    Par princejava dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/05/2014, 12h49
  2. Passer référence objet javascript via ajax
    Par fabienhespul dans le forum jQuery
    Réponses: 3
    Dernier message: 01/07/2010, 21h59
  3. Passer un tableau via un signal/slot
    Par Zhitoune dans le forum Débuter
    Réponses: 1
    Dernier message: 12/01/2010, 09h11
  4. Réponses: 9
    Dernier message: 13/12/2009, 13h28
  5. Réponses: 12
    Dernier message: 07/06/2009, 21h19

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