我知道还有很多其他问题与此有关,但我没有找到一个与我的情况完全吻合的问题。我正在使用angularjs,express,html和jquery。我有一个数据表结构,用于查询子目录的文件夹,然后能够在选定的子目录中显示数据。子目录命名法是客户端的id,子目录中的数据是文档。在数据表所在的页面上,我以这种格式发送了一个参数:domain/client/:id
。在角度方面,我能够捕获此参数并过滤其他结果。但是,我不太确定如何在我的数据表中。我知道如何过滤数据表中的显示结果,这不是问题。问题是捕获此参数,然后将其传递给我的过滤器函数。这是我的数据表的代码:
$(document).ready(function() {
var table = $(".linksholder").dataTable({
"fnCreatedRow": function(nRow, aData, iDataIndex) {
if (!aData.IsDirectory) return;
var path = aData.Path;
$(nRow).bind("click", function(e) {
$.get('/files?path=' + path).then(function(data) {
table.fnClearTable();
table.fnAddData(data);
currentPath = path;
});
e.preventDefault();
});
},
"aoColumns": [{
"sTitle": "",
"mData": null,
"bSortable": false,
"sClass": "head0",
"sWidth": "55px",
"render": function(data, type, row, meta) {
if (data.IsDirectory) {
return "<a href='#' target='_blank'><i class='fa fa-folder'></i> " + data.Name + "</a>";
} else {
return "<a href='/assets/" + data.Path + "' target='_blank'><i class='fa " + "'></i> " + data.Name + "</a>";
}
}
}],
});
$.get('/files').then(function(data) {
table.fnClearTable();
table.fnAddData(data);
});
$(".up").bind("click", function(e) {
if (!currentPath) return;
var idx = currentPath.lastIndexOf("/");
var path = currentPath.substr(0, idx);
$.get('/files?path=' + path).then(function(data) {
table.fnClearTable();
table.fnAddData(data);
currentPath = path;
});
});
});
答案 0 :(得分:0)
这是解决方案:
我添加了这些变量:
var url = window.location.href;
var id = document.location.href.split('client/')[1];
然后调用特定的子目录,如下所示:
$.get('/files?path=' + id).then(function(data) {
table.fnClearTable();
table.fnAddData(data);
});