jquery AJAX REST 重新初始化数据表
jquery AJAX REST reinitialize datatable
我有一些代码似乎不太正确。我对此很陌生,只是尽我所能,希望有人能指出我正确的方向。我有一个简单的 AJAX 代码可以从 Sharepoint 列表中提取一些信息。
我有 2 个按钮,当我单击一个按钮时,我会在 table 中加载一组信息,而当我单击另一个按钮时,我会得到一组不同的信息。不幸的是,我无法获取它,所以我可以单击一个,获取信息,当我单击第二个时,它应该擦除 table 并替换为新信息,两者都有效,但您必须在两次点击之间刷新页面。
如有任何建议,我将不胜感激,我在网上到处搜索,发现很多 "solutions" 都针对这个问题,但 none 似乎对我有用。请参阅下面的代码。
function ButtonFunction(input) {
var call = $.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/Lists/GetByTitle('List1')/items?$select=Title,Column4,Column7&$filter=(Column6 eq '"+input+"')&$top=5000",
type:"GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});
call.done(function (data,textStatus, jqXHR){
$('#example').dataTable({
"bDestroy":true,
"bProcessing":true,
"aaData":data.d.results,
"aoColuns": [
{"mData": "Title" },
{"mData": "Column4" },
{"mData": "Column7" },
]
});
});
call.fail(function (jqXHR, textStatus,errorThrown){
alert("Error" + jqXHR.responseText);
});
}
删除 table:
中的所有行
var table = $('#example').DataTable();
var rows = table.rows().remove()
function ButtonFunction(input) {
var table = $('#example').DataTable();
var rows = table.rows().remove()
var call = $.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/Lists/GetByTitle('List1')/items?$select=Title,Column4,Column7&$filter=(Column6 eq '"+input+"')&$top=5000",
type:"GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});
call.done(function (data,textStatus, jqXHR){
$('#example').dataTable({
"bDestroy":true,
"bProcessing":true,
"aaData":data.d.results,
"aoColuns": [
{"mData": "Title" },
{"mData": "Column4" },
{"mData": "Column7" },
]
});
});
call.fail(function (jqXHR, textStatus,errorThrown){
alert("Error" + jqXHR.responseText);
});
对不起大家。显然我有一个旧版本 datatables.css 当我链接到最新版本时,一切都按照预期的方式工作。
我有一些代码似乎不太正确。我对此很陌生,只是尽我所能,希望有人能指出我正确的方向。我有一个简单的 AJAX 代码可以从 Sharepoint 列表中提取一些信息。
我有 2 个按钮,当我单击一个按钮时,我会在 table 中加载一组信息,而当我单击另一个按钮时,我会得到一组不同的信息。不幸的是,我无法获取它,所以我可以单击一个,获取信息,当我单击第二个时,它应该擦除 table 并替换为新信息,两者都有效,但您必须在两次点击之间刷新页面。
如有任何建议,我将不胜感激,我在网上到处搜索,发现很多 "solutions" 都针对这个问题,但 none 似乎对我有用。请参阅下面的代码。
function ButtonFunction(input) {
var call = $.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/Lists/GetByTitle('List1')/items?$select=Title,Column4,Column7&$filter=(Column6 eq '"+input+"')&$top=5000",
type:"GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});
call.done(function (data,textStatus, jqXHR){
$('#example').dataTable({
"bDestroy":true,
"bProcessing":true,
"aaData":data.d.results,
"aoColuns": [
{"mData": "Title" },
{"mData": "Column4" },
{"mData": "Column7" },
]
});
});
call.fail(function (jqXHR, textStatus,errorThrown){
alert("Error" + jqXHR.responseText);
});
}
删除 table:
中的所有行var table = $('#example').DataTable();
var rows = table.rows().remove()
function ButtonFunction(input) {
var table = $('#example').DataTable();
var rows = table.rows().remove()
var call = $.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/Lists/GetByTitle('List1')/items?$select=Title,Column4,Column7&$filter=(Column6 eq '"+input+"')&$top=5000",
type:"GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});
call.done(function (data,textStatus, jqXHR){
$('#example').dataTable({
"bDestroy":true,
"bProcessing":true,
"aaData":data.d.results,
"aoColuns": [
{"mData": "Title" },
{"mData": "Column4" },
{"mData": "Column7" },
]
});
});
call.fail(function (jqXHR, textStatus,errorThrown){
alert("Error" + jqXHR.responseText);
});
对不起大家。显然我有一个旧版本 datatables.css 当我链接到最新版本时,一切都按照预期的方式工作。