gpt4 book ai didi

asp.net-mvc - datatables.net : Error handling for server side processing

转载 作者:行者123 更新时间:2023-12-03 08:49:13 31 4
gpt4 key购买 nike

我已经使用DataTables.Aspnet.Core和DataTables.AspNet.WebApi2 nuget在MVC应用程序上设置了服务器端处理的datatables.net。一切正常,数据被加载并显示良好。

如果服务器端存在问题,我会捕获异常并返回包含我的自定义错误消息的结果:

// IDataTablesRequest tableRequest
return new DataTablesJsonResult(Response.Create(tableRequest, "my custom error message"), Request);

在客户端,我也注册了错误事件:
$.fn.dataTable.ext.errMode = 'none';
this.$dataTable.on('error.dt', this.onDataTableError.bind(this));

这也可以正常工作,我可以解析响应并检查我的自定义消息。

现在是问题:处理错误后,我总是得到可怕的 Uncaught TypeError: Cannot read property 'length' of undefined,我认为是这种情况,因为我没有向客户端发送任何数据吗?

如何防止此错误?

最佳答案

我无法通过在服务器端添加空数据集来解决此问题,因为这不会与json一起传递。

我最终要做的是确保客户端始终有一个数据数组:

// register to ajax request event
this.$dataTable.on('xhr.dt', this.afterAjax.bind(this));

// set empty array to make sure we have no issue
// with null references on data.length for loop
afterAjax(event: JQueryEventObject, settings: any, payload: any, response: any): void {
payload.data = payload.data || [];
}

关于asp.net-mvc - datatables.net : Error handling for server side processing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45508497/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com