Вы вызываете метод addToCart и передаете идентификатор продукта. Теперь вы можете использовать jQuery ajax для передачи этих данных на ваш метод действия на стороне сервера. D
jQuery post - это короткая версия jQuery ajax.
function addToCart(id)
{
$.post('@Url.Action("Add","Cart")',{id:id } function(data) {
//do whatever with the result.
});
}
Если вы хотите больше вариантов, как успех обратного вызова и обработки ошибок, использовать 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-файле, вы можете рассмотреть подход, упомянутый в этом answer.
благодаря Kman, его работу ... –
Существует ошибка синтаксиса в примере выше, должно быть запятая после данных: {id: id}, но, к сожалению, это считается слишком тривиальным для меня для редактирования. – Sterno
@Sterno Я поставил его в очередь для экспертного обзора. Спасибо, что оставил свой пост; это ускорило мой процесс устранения неполадок. – DigitalNomad