如何使用jquery向.Net Core控制器发送请求

时间:2017-05-18 20:04:52

标签: jquery controller asp.net-core-mvc

我的页面上有按钮:

<input type="button" class="btn btn-default" value="BMW" id="sendBMW"/> 

我尝试使用 Jquery 向控制器发送发布请求:

<script type="text/javascript">
    $("#sendBMW").button().click(function () { 
        $.post('/Home/GetCarsByCriteria', 'bmw');
    })
</script>

这是我的控制器:

[HttpPost]
public IEnumerable<Car> GetCarsByCriteria(string param) {
   var cars = db.Cars.Where(x=> x.Seria == param).ToList();
   return cars;
}

enter image description here

我尝试将 [FromBody] 属性添加到Controller中,但是brek-point不起作用。 有人知道我怎么解决它吗?

1 个答案:

答案 0 :(得分:1)

您需要将数据作为键/值对发送到控制器,而不是字符串。最简单的方法是给jQuery一个它将为你编码的对象。试试这个:

$("#sendBMW").button().click(function () { 
  $.post('/Home/GetCarsByCriteria', { param: 'bmw' });
})

请注意,在这种情况下,对象的键param需要与控制器中Action的参数匹配。