Page 1 sur 1

Ajax method POST avec deux table

Posté : 29 mars 2019, 12:38
par exe
Bonjour,

Je suis occupée de développer une api de gestion de contact
En me fournissant le back, on me spécifie que les numéros sont dans les contacts (tableau dans un tableau)

Code : Tout sélectionner

{ "id": 1, "nom": "i", "prenom": "Test1", "adresse": "rue de la vie", "createdAt": "2006-02-15T04:34:33.000Z", "updatedAt": "2019-03-29T09:47:31.000Z", "numeros": [ { "id": 9, "numero": "11111111" }, { "id": 10, "numero": "1222222" } ] }
Je dois pouvoir ajouter un contact et/ou le modifier.. Sauf que j'ai beau retourner le problème dans tous les sens, je suis incapable avec mes bases de javascript (4 mois d'apprentissage du js) d'effectuer l'ajout... Comment devrais-je m'y prendre si pour ajouter un ou plusieurs numéros à un contact si j'ai déjà cette base ci en ajax?

Code : Tout sélectionner

contact.saveForm = function () { const id = $('#id').val(); const nom = $('#nom').val(); const prenom = $('#prenom').val(); const adresse = $('#adresse').val(); $.ajax({ url:monurl+ (id != null ? '/' + id : ''), //je ne mets pas l'url en public sur le forum, bien évidemment. method: 'post', data: { id: id, nom: nom, prenom: prenom, adresse: adresse, } }).done(function (data) { const index = contact.data.findIndex(function(c){ return c.id === data.id; }); if(-1 === index){ //findIndex renvoie -1 si l'id n'existe pas contact.data.push(data); }else{ contact.data[index] = data; //[index] retourne la position } contact.refreshTable(); contact.toggle(); }); };
Mon formulaire

Code : Tout sélectionner

<form id="contact-edit"> <input type="hidden" id="id" name="id" /> <div class="form-group"> <label for="label">Nom</label> <input type="text" class="form-control" id="nom" name="nom"> </div> <div class="form-group"> <label for="description">Prénom</label> <input type="text" class="form-control" id="prenom" name="prenom"> </div> <div class="form-group"> <label for="start_date">Adresse</label> <input type="text" class="form-control" id="adresse" name="adresse"> </div> <a class="btn btn-success add-more-btn">Ajouter un numéro</a> <div class="form-main"> <div class="form-block"> <div class="form-group"> <input type="hidden" id="idN" name="id" /> Numéro <input type="text" name="numero" id="numero" class="form-control"> </div> </div> </div> <button type="button" onclick="contact.cancelForm();" id="button" class="btn btn-primary">Annuler</button> <button type="submit" onclick="contact.saveForm();event.preventDefault()" class="btn btn-primary">Enregistrer</button> </form>
Je précise que ce code fonctionne parfaitement

Merci à ceux qui me répondront..

Re: Ajax method POST avec deux table

Posté : 30 mars 2019, 16:32
par java lol
demande à Samuel :D