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

AJAX Discussion :

[AJAX] Sous-vue ligne pour initialisation d'un tableau et mise à jour en ajax !


Sujet :

AJAX

  1. #1
    Membre éclairé Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    710
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 710
    Par défaut [AJAX] Sous-vue ligne pour initialisation d'un tableau et mise à jour en ajax !
    Bonjour,

    je développe actuellement une petite application en ajax / MVC et je me pose une question à laquelle j'ai bien du mal à trouver une réponse.
    Contexte (très simplifié) :
    Mon application affiche un tableau. Pour chaque tableau j'ai un bouton qui me permet d'ajouter une ligne. Lorsque je clique sur le bouton, une fenêtre modale s'ouvre avec un formulaire des champs à remplir. Je clique sur le bouton ok de la modale et celle ci se ferme en envoyant les données au serveur pour enregistrement en base. Je souhaite ensuite ajouter la ligne au tableau SANS recharger la page, en ajax donc...

    Suite à l'enregistrement des données, le script php serveur renvoie les valeurs de la nouvelle ligne à l'ajax appelant et mon but est donc, en JS d'ajouter une ligne au tableau. Jusque là, rien de bien complexe. Actuellement lorsque l'ajax reçoit les nouvelles données, il construit la ligne à ajouter avec les balises HTML nécessaires et append cette nouvelle ligne au tableau.

    Or, si la structure de mon tableau change, il faudra que je modifie cette structure dans la vue initiale (celle appelée au chargement de la page) MAIS AUSSI dans le javascript permettant d'ajouter des lignes !

    Je me dis que si j'ai un même bout de code présent à 2 endroits différents, c'est que j'ai un problème de conception.
    La solution que j'ai imaginée est la suivante :
    - je crée une sous vue permettant de définir une ligne de tableau
    - à l'initialisation, je boucle sur les résultats et appelle la vue à chaque tour
    - lors de l'ajout d'une ligne au tableau en ajax, le script PHP "appelle" la sous vue, y "place" les nouvelles données et renvoie le tout au javascript qui n'a plus qu'à attacher cette nouvelle ligne toute prête à la suite du tableau...
    - Ainsi si la structure de mon tableau change, jee n'ai que la sous vue à modifier et le tour est joué !

    Que pensez vous de ma solution ? J'imagine ne pas être le premier à m'être posé la question, mais n'ayant pas réellement trouvé de façon de faire, je me pose la question concernant la mienne...

    Merci de vos retours et conseils !

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 573
    Par défaut
    oui tu n'es pas le premier à avoir eu cette interrogation et comme toi :
    1. je pense que du code en double est un signe de problème
    2. je pense que du code factorisé est un signe que le code sera plus facile à maintenir


    donc ta solution me plait.

    de mon côté la question se posait dans un autre genre d'utilisation. j'avais résolu cela en faisant une fonction JavaScript appelée à l'initialisation de la page puis au moment des modifications ce qui au final ressemble un peu à ce que tu as mis en place

  3. #3
    Membre éprouvé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Billets dans le blog
    6
    Par défaut
    personnellement j’enverrai du code JSON structuré de manière à bien déclarer un tableau
    il faudrait alors du côté client une fonction qui adapte l'écriture au contenus renvoyé

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/04/2012, 12h09
  2. Réponses: 1
    Dernier message: 23/12/2007, 20h08
  3. Syntaxe pour initialisation de litéral "tableau"
    Par Hibou57 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 02/10/2007, 08h34
  4. Réponses: 16
    Dernier message: 09/07/2007, 17h45

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