var generateOrder = {
"orderitems": [
{
"id": 7,
"name": "Raddish",
"rate": 30,
"weight": "3",
"amountperweight": 90
},
{
"id": 8,
"name": "Peas",
"rate": 35,
"weight": "4",
"amountperweight": 140
}
],
"totalamount": "230",
"discount": "10",
"netamount": "220"
}
为什么ajax后调用会打到控制器的空值。
var generateOrder = {
orderitems: newRecords,
totalamount: $("#totalamount").val(),
discount: $("#TextBoxdiscount").val(),
netamount: $("#TextBoxnetamount").val()
}
$.ajax({
method: "POST",
url: "/Orders/GenerateOrder",
data: JSON.stringify(generateOrder),
contentType: "application/json",
success: function (response) {
console.log("response", response);
},
error: function (error) {
}
});
public class OrderCart
{
public int id { get; set; }
public string name { get; set; }
public int rate { get; set; }
public string weight { get; set; }
public int amountperweight { get; set; }
}
[HttpPost]
[Route("GenerateOrder")]
[ActionName("GenerateOrder")]
public List<OrderCart> GenerateOrder(List<OrderCart> generateOrder)
{
return generateOrder;
}
在我看来,你发布的对象既有头项又有行项,但你的Post方法期望的只是一个行项列表。你发送的json对象的结构和POST期望的结构之间的不匹配可能是问题的一部分。