Ajax method POST avec deux table

exe
Invité n'ayant pas de compte PHPfrance

29 mars 2019, 12:38

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..

java lol
Invité n'ayant pas de compte PHPfrance

30 mars 2019, 16:32

demande à Samuel :D