jquery - Ajax Post 调用响应为空
问题描述
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 post call 会以空值访问控制器。
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 的预期不匹配可能是您的问题的一部分。
推荐阅读
- maven - Maven Liquibase @update 注释的目的是什么
- flutter - Flutter:加载资产错误,除非热重载(BLOC + MultiImagePicker)
- ios - 调用另一个 ViewController 会出错 - 在后台线程上调用 UI API
- javascript - 尝试遍历图层数组以添加到 web 地图时出现“T 未定义”错误
- backend - 有没有一种方法可以在 OctoberCMS 后端表单中选择或创建下拉选项?
- php - Laravel:如何修复 laravel 新项目错误?
- javascript - 使用 JavaScript 中的添加和删除功能使用不同文件夹上传多文件(需要在一个输入中删除单个文件)
- java - 滑翔过渡中断变换
- c# - GitStatus 是什么以及如何使用它
- apache-nifi - 为什么 CRON 调度程序在 NiFI 中不起作用