gpt4 book ai didi

asp.net - 您如何使用 jQuery.dataTables 1.10 向 ASP.NET WebMethod 后端发送和接收 JSON?

转载 作者:行者123 更新时间:2023-12-01 23:48:51 25 4
gpt4 key购买 nike

1.10 版的 jQuery DataTables 与以前版本的 DataTables 相比发生了很多变化,包括它处理 Ajax 请求和响应的方式。

库的开发人员没有任何使用 ASP.NET 后端的经验,因此尽管过去有人向他们提出了 WebMethods 的一些细微差别,但他们显然没有在这个版本中考虑它们。

例如,dataSrc DataTables 选项应该是我们处理 ASP.NET WebMethods 用 {d: [response]} 包装它们所有 Ajax 响应这一事实的地方>。

相反,DataTables 只查看 dataSrc 设置来查找数据属性,而不是其余所需的响应信息(drawrecordsTotalrecordsFilterederror)。我的内存可能不正确,但我很确定用于处理此问题的 dataSrc 设置很好。

最佳答案

要以格式{d: { data: [] } } 处理来自服务器的JSON 响应,您可以使用DataTables 初始化选项dataSrc。如下"dataSrc": "d.data"。但是它只适用于客户端处理模式。

仅限客户端处理模式

$('#example').dataTable({
"ajax": {
"url": "Default.aspx/GetSearchResults",
"type": "POST",
"contentType": "application/json; charset=utf-8",
"dataType": "json",
"data": function (d) {
return JSON.stringify(d);
},
"dataSrc": "d.data"
}
});

通用解决方案
fot 客户端和服务器端处理模式

在服务器端处理模式下,我们需要让DataTables访问服务器端脚本发送的其他变量,如drawrecordsTotal等。为此我们需要为 dataSrc 使用回调选项并将 json.d 属性复制到 json 并删除 d 属性。

$('#example').dataTable({
"ajax": {
"url": "Default.aspx/GetSearchResults",
"type": "POST",
"contentType": "application/json; charset=utf-8",
"dataType": "json",
"data": function (d) {
return JSON.stringify(d);
},
"dataSrc": function(json){
for(key in json.d){ json[key] = json.d[key]; }
delete json['d'];

return json.data;
}
}
});

关于asp.net - 您如何使用 jQuery.dataTables 1.10 向 ASP.NET WebMethod 后端发送和接收 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27626843/

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