点击'点击'不执行JQuery

时间:2014-11-25 22:04:41

标签: jquery asp.net-mvc

问题背景:

我正在尝试将两个参数(产品名称和价格)从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.
    }

2 个答案:

答案 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() } // ,
});

...