Вы вызываете метод addToCart и передаете идентификатор продукта.Теперь вы можете использовать jQuery ajax для передачи этих данных в ваш метод действий на стороне сервера. D
jQuery post - это короткая версия jQuery ajax.обратные вызовы и обработка ошибок, используйте 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);
}
});
}
При выполнении вызовов ajax я настоятельно рекомендую использовать вспомогательный метод Html, например Url.Action
, для генерации пути к вашим методам действий.
Это будет работать, если ваш код находится в режиме бритвы, потому что Url.Action будет выполняться бритвой на стороне сервера, а выражение c # будет заменено на правильный относительный путь.Но если вы используете свой код jQuery во внешнем js-файле, вы можете рассмотреть подход, упомянутый в этом ответе .