Angular DTOptionsBuilder ajax调用结束时是否有回调?

Is there a callback for when an Angular DTOptionsBuilder ajax call finishes?

本文关键字:是否 回调 结束 DTOptionsBuilder ajax 调用 Angular      更新时间:2023-09-26

我正在使用角数据表,我有一些代码看起来像这样:

<>之前。dtopoptions = DTOptionsBuilder.newOptions().withOption("ajax"{类型:"文章",contentType: application/json,processData:假的,beforeend:函数(xhr,设置){…},数据:function(Data) {…}}).withDataProp("数据").withOption(‘处理’,真的).withOption(服务端,真的);之前

这一切都可以正常工作,并且当ajax调用返回时,页面上的表将填充数据。现在我要做的就是检测ajax调用何时完成。我试着在beforeSend:

下面使用这个
success: function(data, textStatus, jqXHR, fnCallback) {console.log(数据);} 之前

实际上将返回的数据打印到控制台,但是当我添加success回调时,页面上的表从未填充数据。那么,如何在ajax完成时触发回调,并让页面上的表像往常一样填充数据呢?

datatable是使用ajax success回调内部,所以你打破的东西,如果你覆盖它。但是,dataTables引入了自己的dataSrc回调,该回调从dataTables成功处理程序中触发,以便在插入任何数据之前为您提供操作响应的机会:

this.dtOptions = DTOptionsBuilder.newOptions()
  .withOption('ajax', {
     dataSrc: function(json) {
       //success!
       console.log(json);
       return json
     },
     type: 'POST',
     contentType: 'application/json',
     processData: false,
     ....

参见demo -> http://plnkr.co/edit/94EWyDanIawCJJgyagiy?

正如您在演示中看到的,在ajax complete回调中也有一个替代方法:

ajax : {
  complete: function(jqXHR, textStatus) {
    console.log(jqXHR.responseText)
  } 
  ..
}