如何在成功之前调用javascript函数

如何在成功之前调用javascript函数,javascript,jquery,ajax,datatable,Javascript,Jquery,Ajax,Datatable,我正在使用SpringBoot和jQueryAjax对一些条目进行批量更新以保存条目,我希望在ajax点击success函数之前重新加载datatable jQuery保存功能: function saveBulkUpload() { var form = $('#bulkUploadForm')[0]; var formData = new FormData(form); $.ajax({ url: '/bulkUpload/save',

我正在使用SpringBoot和jQueryAjax对一些条目进行批量更新以保存条目,我希望在ajax点击
success
函数之前重新加载datatable

jQuery保存功能:

function saveBulkUpload() {
    var form = $('#bulkUploadForm')[0];
    var formData = new FormData(form);
    $.ajax({
        url: '/bulkUpload/save',
        method: 'POST',
        data: formData,
        cache : false,
        enctype: 'multipart/form-data',
        contentType: false,
        processData: false,
    }).done(function(data, textStatus, jqXHR){
            bulkUploadDataTable.ajax.reload();
    });         
}
jQuery数据表:

function showDataTable() {
    bulkUploadDataTable = $('#bulkUploadDataTable').DataTable({
        emptyTable      : 'No record of vendor found',
        lengthChange    : true,
        processing      : true,
        ajax : {
            'url'   : '/bulkUpload/findAll',
            'type'  : 'POST'
        },
        columns : [
            {'data' : 'selectedModuleName'},
            {'data' : 'fileName'},
            {'data' : 'remark'}
        ],
        searching   : false,
        buttons : ['excel', 'csv', 'pdf', 'copy'],
        scrollCollapse: true
    });
}
我试过:

//1
    $.ajax({
        url: '/bulkUpload/save',
        method: 'POST',
        data: formData,
        cache : false,
        enctype: 'multipart/form-data',
        contentType: false,
        processData: false,
        beforeSend: function() {    
            bulkUploadDataTable.ajax.reload();
            },
    })

但两者似乎都不起作用

我只想在ajax的
success
函数之前重新加载datatable一次,因为数据库中的值在上传过程中和上传完成后都会发生变化


请在此帮助我…

在调用
$之前您是否尝试过调用它。ajax
?@ahwayakchih它将毫无用处,因为在
url:'/bulkUpload/save',
之前没有更新哦,对不起。我想您应该在ajax调用更改数据之前更新表。那个么,这是否意味着您希望在数据更改之后,但在。。。在发生什么之前?因为您写了:
数据库中的值在上传期间和上传完成后都会发生变化
。这是否意味着您想在ajax调用期间和之后更新表?@ahwayakchih-yup-totalyso我猜您想显示某种进度条或上传的百分比?由于默认情况下,
jquery.ajax
是异步的,所以您可以尝试在调用ajax之前启动一段时间间隔,并在成功/错误后停止它,但这有点“hacky”。如果你需要一个进度条,请在
//2
$.ajax({
        url: '/bulkUpload/save',
        method: 'POST',
        data: formData,
        cache : false,
        enctype: 'multipart/form-data',
        contentType: false,
        processData: false,
    }).always(bulkUploadDataTable.ajax.reload())