Javascript NodeJs和JQuery:路径错误
我正在将文件浏览器构建到html页面中。该文件浏览器由JQuery和NodeJs以及ExpressJs和DataTables组成。当前的问题是,当单击子目录时,它应该搜索并显示单击的子目录中的文件/目录;但是,它会搜索并显示原始目录的文件/目录。正在讨论的目录是[AppName]/Public/Assets } 以下是html代码片段:Javascript NodeJs和JQuery:路径错误,javascript,jquery,node.js,express,Javascript,Jquery,Node.js,Express,我正在将文件浏览器构建到html页面中。该文件浏览器由JQuery和NodeJs以及ExpressJs和DataTables组成。当前的问题是,当单击子目录时,它应该搜索并显示单击的子目录中的文件/目录;但是,它会搜索并显示原始目录的文件/目录。正在讨论的目录是[AppName]/Public/Assets } 以下是html代码片段: <body> <div class="panel panel-default mainpanel"> <di
<body>
<div class="panel panel-default mainpanel">
<div class="panel-heading">
Document Browser
<span class="up">
<i class="fa fa-level-up"></i> Back
</span>
</div>
<div class="panel-body">
<table class="linksholder" id="linksholder">
<thead>
</thead>
<tbody>
<tr>
<td>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<script>
$(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='/" + 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;
});
});
});
</script>
</body>
我知道调用函数“fnCreatedRow”时调用的路径存在问题,但我已尝试进行分析,无法准确指出。以下是输出:
browsing [AppName]/public/assets/:path
[ReferenceError: program is not defined]
{ [Error: ENOENT: no such file or directory, stat '[AppName]/public/assets/:path/1']
errno: -2,
code: 'ENOENT',
syscall: 'stat',
path: '[AppName]/public/assets/:path/1' }
如果这是目录
[AppName]/public/assets
中的文件,而不是[AppName]/public/assets/:path
,您可以实际查看,其中显示了如何在目录和子目录中导航。我感谢您的建议,但是,在您提供的链接上,页面没有指向在目录和子目录中导航的内容。然而,经过一番探索,我终于做到了。问题是,我已经做了一些事情,我不会把它扔掉。我只是在调用路径、检索该路径中的所有内容时遇到问题。
browsing [AppName]/public/assets/:path
[ReferenceError: program is not defined]
{ [Error: ENOENT: no such file or directory, stat '[AppName]/public/assets/:path/1']
errno: -2,
code: 'ENOENT',
syscall: 'stat',
path: '[AppName]/public/assets/:path/1' }