ric*_*ard 10 jquery json asp.net-mvc-4
我有一个ajax调用,它向我的一个控制器操作方法发出GET请求.
ajax调用应该获得JSON响应并使用它来填充数据网格.回调函数应该触发并构造网格并隐藏加载指示符.
$.getJSON('@Url.Action("Data", "PortfolioManager")' + '?gridName=revenueMyBacklogGrid&loginName=@Model.currentUser.Login', function (data) {
ConstructrevenueMyBacklogGrid(data);
$('#revenueMyBacklogLoadingIndicator').hide();
});
Run Code Online (Sandbox Code Playgroud)
问题是当我转换为JsonResult对象的对象没有数据时 - 它只是一个空集合.
returnJsonResult = Json(portfolioManagerPortalData.salesData.myYTDSalesClients,JsonRequestBehavior.AllowGet);
在这个例子中,它是一个myYTDSalesClients返回空的集合(这是好的和有效的 - 有时候不会有任何数据).
然后JSON对象返回一个空响应(空白,nadda),因为它不是有效的JSON,回调函数不会触发.因此,加载指示器仍然显示,看起来它只是永远加载.
那么,如何返回空的JSON结果{}而不是空白?
And*_*edo 14
if (portfolioManagerPortalData.salesData.myYTDSalesClients == null) {
returnJsonResult = Json(new object[] { new object() }, JsonRequestBehavior.AllowGet);
}
else {
returnJsonResult = Json(portfolioManagerPortalData.salesData.myYTDSalesClients, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
Gio*_*mio 13
从asp.net mvc 5开始,你可以简单地写一下:
Json(new EmptyResult(), JsonRequestBehavior.AllowGet)
Run Code Online (Sandbox Code Playgroud)
小智 7
在 .Net Core 3.0 中,对于 ControllerBase 类型的控制器,您可以执行以下操作:
return new JsonResult(new object());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20238 次 |
| 最近记录: |