之后的jQuery Refresh表是$ .ajax发送

时间:2017-12-02 11:00:36

标签: javascript jquery ajax

我有一个$ .ajax函数需要在发送请求后刷新表,并且在成功之后,收到请求它需要再次刷新表。收到成功后我成功刷新了表,但是当发送ajax并等待接收成功或错误时,我不知道如何刷新表。

               /* SHOW - message */
                sweetAlert({
                    title: 'Are You Sure?',
                    html: message+" <b>"+window.server+"</b> Server?",
                    type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                    }).then(function() {
                        /* SERVER - data */
                        var data     = {};
                        data.id      = window.id;
                        data.type    = window.type;

                        /* GET - server install */
                        $.ajax({
                            type: 'POST',
                            url: '/api/server_manage',
                            data: data,
                            dataType: 'json',
                            success: function(res){
                                console.log('refresh table...');
                                $('#basicDataTable').dataTable().fnDraw(false);
                            }
                        })
                    }).catch(swal.noop);

所以简而言之,需要这样做:

ajax请求发送....等待...... 刷新表... ajax请求收到成功或错误... 刷新表......

如果我在ajax之前或之后放置刷新它是不好的,因为它从需要在datatables中显示的mysql数据库值读取数据表...并且其值在调用时设置ajax

1 个答案:

答案 0 :(得分:1)

DataTables可以按https://datatables.net/examples/data_sources/server_side.htmlhttps://datatables.net/reference/option/ajax

中的示例所示进行投放

按如下方式更改您的代码:

           /* SHOW - message */
            sweetAlert({
                title: 'Are You Sure?',
                html: message+" <b>"+window.server+"</b> Server?",
                type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                }).then(function() {
                    /* SERVER - data */
                    var data     = {};
                    data.id      = window.id;
                    data.type    = window.type;

                    /* GET - server install */

                    $('#basicDataTable').DataTable( {
                        "processing": true,
                        "serverSide": true,
                        "ajax": {
                           "url": "/api/server_manage",
                           "type": "POST"
                           "data": data,
                           "dataType": "json"
                        }
                    });

                }).catch(swal.noop);