【问题标题】:How to send result of Jquery to controller如何将 Jquery 的结果发送到控制器
【发布时间】:2015-11-27 08:37:54
【问题描述】:

查看:

<div class="item">
<!-- Item's image -->
<img class="img-responsive" src="http://lorempixel.com/200/200/food/1/" alt="">
<!-- Item details -->
<div class="item-dtls">
<!-- product title -->
<h4><a href="#" >Lorem product</a></h4>
<!-- price -->
<span class="price lblue"  >$23.00</span>
</div>
<!-- add to cart btn -->
<div class="ecom bg-lblue">
<a class="btn" href="#" ">Add to cart</a>
</div>
</div>

jQuery:

$('a.btn').click(function () {
var container = $(this).closest('.item');
var title = container.find('.item-dtls > h4 > a').html();
var price = container.find('.price').html();
alert('Title: ' + title + ', Price: ' + price);
});

如何将标题和价格发送到操作结果?

【问题讨论】:

  • 更新视图的完整代码
  • 您可以使用 AJAX 与服务器端通信:api.jquery.com/jquery.ajax
  • 使用ajax 来做到这一点。您应该在我回答的地方更新您之前的问题。

标签: jquery asp.net-mvc model-view-controller


【解决方案1】:

ajax 调用:

$.ajax({
    url:'@(Url.Action("SomeAction", "Some"))',
    data: {title:title, price:price},
    success:function(data){
        //data is response from action
        ....
    }
});

动作本身:

public class SomeController: Controller
{
    public ActionResult SomeAction(string title, string price)
    {
        ...
    }
}

并使用 text() 而不是 html(),否则如果您将 html 代码发送到操作,则会出现危险请求的异常:

var title = container.find('.item-dtls > h4 > a').text();
var price = container.find('.price').text();

【讨论】:

    猜你喜欢
    • 2011-12-02
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 2023-03-03
    相关资源
    最近更新 更多