Supprimer un enregistrement dans une BDD via Ajax

Gauthier -  
tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je construis un petit backoffice suivant le modèle MVC (je combine Sli, Twig et Eloquent).

J'ai un listing dynamique d'actualités dans un tableau avec pour chacune d'entre elles la possibilité de la supprimer.

La suppression s'effectue en cliquant sur le lien:
<a href="" class="ajax_delete" id="{{ n.id }}">Supprimer</a>


Je passe par JQuery/AJAX pour tenter d'effectuer la suppression mais je bloque au niveau de l'appel de méthode de mon controller (chargé de faire la suppression en BDD) et et du passage des données dans ce dernier.

$(document).ready(function(){
            $(".ajax_delete").click(function(){
                var del_id = $(this).attr('id');
                var myTr = $(this).parent().parent();
                $.ajax({
                    type:'POST',
                    url:'{{ path }}/Controller/AdminController/deleteNews',
                    data: 'id=' + del_id,
                    success:function(data) {
                        if(data) {
                            myTr.remove();
                            alert('supprimé');
                        }
                    },
                    error: function() {
                        alert('error');
                    }
                });
            });
        });


Comment faire correctement appel à la méthode de mon controlleur en lui transmettant les données (un id ici en l'occurence) ?

Merci
A voir également:

1 réponse

tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   89
 
Normalement tu récupères l'id envoyé via AJAX directement dans le tableau $_POST tu as juste a le récupérer et a effectuer la suppression..

Je vois une faille possible dans ce que tu fais. En effet tu envoies à ton controller 'id=$id', et je pense que tu met directement ça dans la requête donc si l'utilisateur malveillant change id en pseudo par exemple, la requête sera effectué sur les pseudos. Mais bon pas très gênant puisque c'est un truc d'administration
0