如何检索从客户端发送的“数据”?(在“数据”字段中)
<script type="text/javascript">
$(function () {
$('#btnAddProductAjax').click(function () {
var name = $('#txtProductName').val();
var units = $('#txtUnitsInStock').val();
var price = $('#txtPrice').val();
$.ajax({
url: '@Url.Action("AddProductAjax", "Home")',
type: 'POST',
dataType: 'JSON',
data: {
productname: name,
unitsinstock: units,
price: price
},
success: function (data) {
$('#divResult').html(data);
alert('Product added successfully');
}
});
});
});
</script>
我该如何使用这些数据
data: {
productname: name,
unitsinstock: units,
price: price
},
在我的服务器端操作'AddProductAjax'中?
public JsonResult AddProductAjax(string data)
{
//retrieve data which is sent from client and do something
return Json(json_data);
}
我试过了 :
Google搜索了几个小时,没有结果
UPD:如果我定义动作,例如
AddProductAjax(string productname, int unitsinstock, decimal price)
- 什么都没发生。Ajax甚至没有调用此操作。如果我尝试
AddProductAjax(string productname, string unitsinstock, string price)
-在调试器中,所有字段均为空!
它有助于使用MAttributes向MVC指定操作应期望的请求类型。无论是HttpPost
和HttpGet
属性被发现System.Web.Mvc
。
像这样:
[HttpPost]
public JsonResult AddProductAjax(string productname, int unitsinstock,
decimal price)
{
//logic...
return Json(json_data);
}
如果一开始不起作用,则可能需要将参数(括号中的变量)定义为string
s,然后解析每个参数以检索其中的值,如下所示:
[HttpPost]
public JsonResult AddProductAjax(string productname, string unitsinstock,
string price)
{
int units = 0;
int.TryParse(unitsinstock, out units);
decimal decPrice = 0.00;
decimal.TryParse(price, out decPrice);
//logic...
return Json(json_data);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句