gpt4 book ai didi

jquery - 使用数据表 jquery 插件填充数据表时,如果使用 JSON 对象出现自定义异常,则抛出 ajax 错误

转载 作者:行者123 更新时间:2023-12-01 04:13:45 24 4
gpt4 key购买 nike

我是 MVC 和 Jquery 的新手。我目前正在使用 jquery 的数据表插件来填充我的应用程序中的表。我的问题是,当应用程序第一次加载时,sAjaxSource 用于指定加载数据的 url(返回 JSON 对象)。

我的问题是在加载数据时我几乎没有需要捕获的自定义异常。但我不确定如何使用 JSON 将其作为错误传递,以及我们在客户端哪里捕获错误。我没有找到任何指定数据表填充时 ajax 调用成功或错误结果的选项。我的引用链接是http://www.datatables.net/ref#sDom

最佳答案

看来您需要使用fnServerData打回来。我自己从未使用过它,但似乎您可以手动执行ajax请求并捕获您想要的任何服务器端错误。

在你的情况下,它会是这样的:

$(document).ready( function() {
try {
$('#example').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "xhr.php",
"fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
oSettings.jqXHR = $.ajax( {

"dataType": 'json',

"type": "POST",

"url": sSource,

"data": aoData,

"success": function(response) {
//do error checking here, maybe "throw new Error('Some error')" based on data;
fnCallback(arguments);
},

"error": function() { //404 errors and the like wil fall here
//"throw new Error('Some error')"
}
} );
}
} );
} catch (e) {
console.error(e);
}
} );

我以前从未使用过该回调,但从引用资料来看,这似乎是正确的方法。

这就是如何在客户端捕获错误的部分。至于出现错误时发送的内容,根据您的语言和框架而有所不同。如果您的项目很重要并且您执行了很多类似的 ajax 请求,我建议您构建一个 REST用于获取数据的 API。

或者你可以在服务器端捕获错误并返回如下的 json:

{
returnStatus: "error",
message: "message"
}

当请求成功时,只需返回如下内容:

{
returnStatus: "success",
data: [...]
}

只需检查 ajax“成功”回调上的 returnStatus 即可。

关于jquery - 使用数据表 jquery 插件填充数据表时,如果使用 JSON 对象出现自定义异常,则抛出 ajax 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16967771/

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