2014-11-25 2 views
0

Вопрос фона:A HREF «по щелчку» не выполняется JQuery

Я пытаюсь передать два параметра (название продукта и цена) из представления к методу «AddToCart» на моей MVC контроллер. Я делаю это, передавая параметры функции 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

Удалены Запятая после объекта данных. Также добавлен метод POST для вашего вызова ajax.

<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> 
+0

http://stackoverflow.com/questions/134845/href-attribute-for-javascript-links-or-javascriptvoid0 – Tracker1

+0

@ Tracker1 Спасибо за ссылку! Узнавайте что-то новое каждый день:} –

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

... 
+0

У них уже есть предупреждениеDefault на событие click. Это просто размахивает разметкой. –

+0

Изменение разметки явно указывает, что оно никогда не должно функционировать на стороне клиента. Если в методе связывания есть ошибка, или что-то выше метода связывания, то предупреждение будет предотвращено. – Tracker1

+0

http://stackoverflow.com/questions/134845/href-attribute-for-javascript-links-or-javascriptvoid0 – Tracker1

Смежные вопросы