Ajax method POST avec deux table
Posté : 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)
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?
Mon formulaire
Je précise que ce code fonctionne parfaitement
Merci à ceux qui me répondront..
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"
}
]
}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();
});
};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>Merci à ceux qui me répondront..