我的页面上有按钮:
<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;
}
我尝试将 [FromBody] 属性添加到Controller中,但是brek-point不起作用。 有人知道我怎么解决它吗?
答案 0 :(得分:1)
您需要将数据作为键/值对发送到控制器,而不是字符串。最简单的方法是给jQuery一个它将为你编码的对象。试试这个:
$("#sendBMW").button().click(function () {
$.post('/Home/GetCarsByCriteria', { param: 'bmw' });
})
请注意,在这种情况下,对象的键param
需要与控制器中Action的参数匹配。