Ajax后调用响应为空

问题描述 投票:0回答:1
 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;
        }

控制器空响应

jquery ajax api webforms controller
1个回答
0
投票

在我看来,你发布的对象既有头项又有行项,但你的Post方法期望的只是一个行项列表。你发送的json对象的结构和POST期望的结构之间的不匹配可能是问题的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.