我有一个$ .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
答案 0 :(得分:1)
DataTables可以按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);