问题背景:
我正在尝试将两个参数(产品名称和价格)从View传递到我的MVC Controller上的'AddToCart'方法。我是通过将参数传递给JQuery Ajax函数来完成的。
问题:
目前,当点击“添加到购物车”按钮“链接”时,脚本未被触发。没有错误但过程没有发生。
以下是代码:
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
//View:
<h3 class="panel-title boldFeatures" id="name">@((ViewBag.data as List<LoginTest.Models.HomePageItem>).First().ProductName)</h3>
<p id="price">@((ViewBag.data as List<LoginTest.Models.HomePageItem>).First().productPrice)</p>
<a class="btn btn-primary btn-block" id="addToCart">Test</a>
//Script:
<script>
$("#addToCart").on('click',function (e) {
e.preventDefault();
$.ajax({
url: '/HomePage/AddToCart',
data: { name: $('#name').text(), qty: $('#price').text() },
});
});
</script>
//Method on controller:
public void AddToCart(string name, string qty)
{
//Logic for adding to the cart.
}
答案 0 :(得分:0)
删除数据对象后面的尾随逗号。
还为您的ajax调用添加了POST
方法。
<a href="#" class="btn btn-primary btn-block" id="addToCart">Test</a>
//Script:
<script>
$("#addToCart").on('click',function (e) {
e.preventDefault();
$.ajax({
url: '/HomePage/AddToCart',
type: 'POST',
data: { name: $('#name').text(), qty: $('#price').text() }
});
});
</script>
答案 1 :(得分:0)
... <a class="btn btn-primary btn-block" id="addToCart" href="javascript:void(0);">Test</a> ... $("#addToCart").click(function(e){ $.ajax({ url: '/HomePage/AddToCart', data: { name: $('#name').text(), qty: $('#price').text() } // , }); ...