Vous appelez la méthode addToCart et passez l'identifiant du produit. Vous pouvez maintenant utiliser jQuery ajax pour transmettre ces données à votre méthode d'action côté serveur.
jQuery post est la version courte de jQuery ajax.
function addToCart(id)
{
$.post('@Url.Action("Add","Cart")',{id:id } function(data) {
//do whatever with the result.
});
}
Si vous voulez plus d'options, comme des rappels de réussite et la gestion des erreurs, utilisez jQuery ajax,
function addToCart(id)
{
$.ajax({
url: '@Url.Action("Add","Cart")',
data: { id: id },
success: function(data){
//call is successfully completed and we got result in data
},
error:function (xhr, ajaxOptions, thrownError){
//some errror, some show err msg to user and log the error
alert(xhr.responseText);
}
});
}
Lorsque vous effectuez des appels ajax, je recommande vivement d'utiliser la méthode d'aide Html telle que Url.Action
pour générer le chemin d'accès à vos méthodes d'action.
Cela fonctionnera si votre code est dans une vue razor car Url.Action sera exécuté par razor côté serveur et cette expression c# sera remplacée par le chemin relatif correct. Mais si vous utilisez votre code jQuery dans votre fichier js externe, vous pouvez envisager l'approche mentionnée dans cet article. respuesta .