Usted está llamando el método addToCart y pasando la identificación del producto. Ahora puede usar jQuery ajax para pasar esos datos a su método de acción del lado del servidor.d
jQuery post es la versión corta de jQuery ajax.
function addToCart(id)
{
$.post('@Url.Action("Add","Cart")',{id:id } function(data) {
//do whatever with the result.
});
}
Si desea más opciones como las devoluciones de llamada de éxito y gestión de errores, usar 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);
}
});
}
Al realizar llamadas ajax, recomiendo encarecidamente el uso del método de ayuda HTML, como Url.Action
para generar la trayectoria a tus métodos de acción.
Esto funcionará si su código está en una vista razor porque Url.Action se ejecutará por razor en el lado del servidor y esa expresión C# se reemplazará con la ruta relativa correcta. Pero si está utilizando su código jQuery en su archivo js externo, puede considerar el enfoque mencionado en este answer.
gracias Kman, su trabajo ... –
hay un error de sintaxis con el ejemplo anterior, ya que debe ser una coma después de los datos: {id: id}, pero desafortunadamente se considera una edición demasiado trivial para mí. – Sterno
@Sterno Lo puse en cola para una revisión por pares. Gracias por dejar tu publicación; aceleró mi proceso de resolución de problemas. – DigitalNomad