我试图在 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
});
}
});
我得到这个错误: “获取/图像/表情符号/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' });
});
最佳答案
你可以做如下的事情。
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.
}
});
此方法的最佳之处在于,它可以让您更精细地控制要公开的文件类型和文件名,尤其是考虑到您要公开文件系统的一部分。
关于javascript - AJAX:列出目录的内容。无法解析网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50828883/