我目前正在学习asp.net核心MVC,当我尝试使用jquery ajax发布数据时遇到此错误
Failed to load resource: the server responded with a status of 400 ()
这是我的控制器:
[HttpPost]
public async Task<IActionResult> PostOrders([FromBody] OrderDetailModel model)
{
try
{
foreach (var ord in model.Items)
{
var orderDetail = new OrderDetail()
{
ItemId = ord.ItemId,
Quantity = ord.Quantity
};
_db.OrderDetails.Add(orderDetail);
}
await _db.SaveChangesAsync();
return Json(new { success = true, message = "Orders created successfully" });
}
catch (Exception ex)
{
return BadRequest(new { message = ex.Message });
}
}
我的jquery:
var itemId = $("#itemDropdown").val();
var itemName = $("#itemDropdown option:selected").text();
var quantity = $("#quantity").val();
var selectedItem = {
itemId: parseInt(itemId),
itemName: itemName,
quantity: parseInt(quantity)
};
$("#submitButton").click(function () {
event.preventDefault();
var data = {
items : selectedItems
}
console.log(data);
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Orders/PostOrders",
processData: true,
cache: false,
dataType: "json",
data: JSON.stringify(data),
error: function (jqXHR) {
console.log(jqXHR);
}
});
})
我尝试调试它,错误在一行中
await _db.SaveChangesAsync();
当它触发catch badrequest时,知道为什么会引发错误吗?是因为等待吗?
谢谢!