我试图在div中显示文件夹中包含的一些图像。我使用AJAX在名为edit
的JavaScript文件中执行此操作,该文件是远离索引路由的一个目录。我使用的是Node.js.我写的代码如下。
var folder = "../images/emojies/";
$.ajax({
url : folder,
success: function (data) {
$(data).find("a").attr("href", function (i, val) {
// some code
});
}
});
我收到此错误: " GET / images / emojies / 404"
奇怪的是,当我这样做时: " /images/emojies/image.png",它找到没有错误的目录! 它可以找不到文件夹,但它可以找到文件吗?
如果需要,路由代码:
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'xx' });
});
/* GET edit page. */
router.get('/edit', function(req, res, next) {
res.render('edit', { title: 'xx' });
});
答案 0 :(得分:1)
你可以做类似的事情。
var app = require('express')();
var http = require('http').Server(app);
var fs = require('fs');
var clients = 0;
app.get('/images/emojies', function(req, res) {
var path = "public/images/emojies/"; //Could be obtained from req.path however, needs to resolve the path properly.
fs.readdir(path, function(err, items) {
res.send(items); // items is an array
});
});
http.listen(3000, function() {
console.log('listening on *:3000');
});
/images/emojies
将是您要联系的端点,您可以使用现有的AJAX请求,如下所示。
var folder = "/images/emojies";
$.ajax({
url : folder,
success: function (data) {
//Under data, you have a stringified array of the file names.
}
});
这种方法最好的一点是,它可以让您对要公开的文件类型和文件名进行更细粒度的控制,特别是考虑到您要公开文件系统的一部分。
答案 1 :(得分:0)
您可以使用路径模块来解决问题:
https://nodejs.org/api/path.html
我认为它应该是这样的:
var folder = path.normalize("../images/emojies/");
答案 2 :(得分:0)
在Nodejs中,当您访问文件夹时,您必须使用./ sign编写文件夹根目录。 例如
var folder = "./../images/emojies/";//Firstly you have to write "./" it access to the same folder where your file is then go up another folder
$.ajax({
url : folder,
success: function (data) {
$(data).find("a").attr("href", function (i, val) {
// some code
});
}
});