我在我的应用中使用angular-datatables
。当ajax source返回空数组时,我不知道如何处理。我希望能够显示一些消息,表明"没有找到记录"。
$scope.dtOptions = DTOptionsBuilder
.newOptions()
.withOption('ajax', {
dataSrc: 'data',
url: 'api_url',
type: 'GET'
})
.withPaginationType('full_numbers');
$scope.dtColumns = [
DTColumnBuilder.newColumn('id').withTitle('ID'),
DTColumnBuilder.newColumn('firstName').withTitle('First name'),
DTColumnBuilder.newColumn('lastName').withTitle('Last name').notVisible()
];
我的Ajax响应如下
{"status":false,"message":"No data were found","data":[]}
那么如何处理呢?
答案 0 :(得分:1)
为language
结构提供所需的消息。您正在寻找的关键字称为zeroRecords
。小例子:
$scope.language = {
"zeroRecords": "No records found",
}
$scope.dtOptions = DTOptionsBuilder.newOptions()
.withOption('ajax', {
dataSrc: 'data',
url: 'api_url',
type: 'GET'
})
.withPaginationType('full_numbers')
.withOption('language', $scope.language)
演示 - >的 http://plnkr.co/edit/teJbmQA3wEnzvKEi63IL?p=preview 强>
要捕获404,只需设置错误处理程序:
$scope.dtOptions = DTOptionsBuilder.newOptions()
.withOption('ajax', {
dataSrc: 'data',
url: 'api_url',
type: 'GET',
error : function(xhr, ajaxOptions, thrownError){
if (xhr.status==404) {
//no specific action needed
}
}
})
通过这种方式,您将避免丑陋的dataTables警告警告框告诉用户存在ajax错误。仍将显示zeroRecords
消息。