【问题标题】:Why ajax passing null or 0 value to controller?为什么 ajax 将 null 或 0 值传递给控制器​​?
【发布时间】:2020-04-30 21:22:50
【问题描述】:
var newRecords = [];

values: [
  {
    "id": 7,
    "name": "Raddish",
    "rate": 30,
    "weight": "5",
    "amountperweight": 150
  },
  {
    "id": 8,
    "name": "Peas",
    "rate": 35,
    "weight": "6",
    "amountperweight": 210
  }
]

$.ajax({
            method: "post",
            url: "http://localhost:36551/Orders/GenerateOrder",
            data: { "values": newRecords },
            dataType: "json",
            success: function (response) {
            },
            error: function (error) {
            }
        });


    [HttpPost]
    [Route("GenerateOrder")]
    [ActionName("GenerateOrder")]
    public List<OrderCart> GenerateOrder(List<OrderCart> generateOrder)
    {
        return generateOrder;
    }

【问题讨论】:

  • 代码似乎与标题无关...您确定您发布了正确的代码吗?并请添加解释...

标签: c# jquery ajax controller webapi2


【解决方案1】:

在您的 javascript 上,请确保 newRecords 与以下类似,在您调用 ajax 帖子之前

newRecords = [{ "id": 7, "name": "Raddish", "rate": 30, "weight": "5", "amountperweight": 150 }, { "id": 8, "name": "Peas", "rate": 35, "weight": "6", "amountperweight": 210 }];

您的 js 属性名称与控制器操作的属性名称不直接对应。 在您的 javascript 块上,更改您的

data: { "values": newRecords },

data: { "generateOrder": newRecords },

【讨论】:

  • 我已将数据:{“values”:newRecords } 替换为数据:{“generateOrder”:newRecords },我传递的 newRecords 数组值相同,但结果为“Count=0”。
猜你喜欢
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 2015-11-22
  • 2023-04-09
  • 2016-06-02
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多