【发布时间】:2018-11-17 21:42:43
【问题描述】:
我有销售和销售项目实体,我试图在 asp.net core 2.0 中使用 return json () 函数将一些 json 从控制器返回到前端
这是我的控制器代码:
[HttpGet]
public JsonResult GetSales(int saleId)
{
SalesModel sales = saleRepository.All().FirstOrDefault(x => x.Id == saleId);
sales.Items = saleItemRepository.All().Where(x => x.SalesId ==
saleId).ToList();
return Json(sales);
}
在前面,使用jQuery ajax get 调用:
function getSale(id) {
return $.ajax({
type: 'GET',
url: "/Sales/GetSales",
data: "saleId=" + id
});
}
$.when(getSale(saleId)).then(function (res) {
console.log(res);
}).fail(function (err) {
console.log(err);
});
在控制台上我得到 json,这是无效的:缺少数组结尾 }]}
{"salesDate":"2018-06-14T00:00:00","saleCode":"1527863276313","notes":"Ok","total":12.31,"status":"Due","discount":0.31,"grandTotal":12.0,"paymentMethod":"Cash","customerId":3,"customerModel":null,"items":[{"name":"hello","price":2.33,"quantity":4,"amount":9.32,"salesId":7
但是当我对 salesItem 进行硬编码时,它返回了有效的 json,而且看起来还可以
public JsonResult GetSales(int saleId)
{
SalesModel sales = saleRepository.All().FirstOrDefault(x => x.Id == saleId);
SalesItemsModel a = new SalesItemsModel { Name = "abc", Amount = 2.5, Id = 1, IsDelete = false, Price = 2.5, Quantity = 1, SalesId = 5};
sales.Items.Add(a);
return Json(sales);
}
从数据库中获取有效 json 时我缺少什么?同样的代码在 aspnetmvc 5 上完美运行
【问题讨论】: