javascript - $.ajax 发送后 jQuery 刷新表

标签 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之前或之后,那就不好了,因为它从需要在数据表中显示的mysql数据库值中读取数据表..并且其值在调用时设置ajax

最佳答案

数据表可以如 https://datatables.net/examples/data_sources/server_side.html 中的示例所示进行馈送和 https://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);

关于javascript - $.ajax 发送后 jQuery 刷新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47607161/

相关文章:

javascript - 法语 "'“在变量中阻止其呈现

javascript - 如何自定义警报框的CSS字段?

javascript - 按字母顺序排序下拉列表,然后按特定前缀排序

jquery - 没有输入字段的文件上传按钮?

jquery - Django/AJAX - 在第一次 jQuery AJAX 调用后(即后续调用)不会呈现新数据

jQuery Ajax 并不适用于每个版本的 Internet Explorer

javascript - 尝试发布大型 JSON 数据时出现错误请求错误

javascript - 基本catch block 中未处理的Promise拒绝

javascript - 使用 Jquery/java 脚本检测 URl 栏单击事件或用户在浏览器地址栏中输入

javascript - WebdriverexecuteScript 命令使 Firefox 无响应