javascript - AJAX:列出目录的内容。无法解析网址

标签 javascript jquery html node.js ajax

我试图在 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/

相关文章:

javascript - 在没有 node.js 的情况下从文件(文件系统)读取

javascript - 在服务器端使用浏览器 Javascript(在 Rails 3 中)

javascript - 单独适用于页面上多个元素的方法

javascript - 将相机或图库中的图像保存在phonegap中的 Canvas 中,然后旋转并裁剪它

javascript - 有条件地运行带有或不带有 Jest 模拟的测试

Javascript 更改 iFrame 中的文本框值

javascript - Jquery 使用验证器验证免费电子邮件

javascript - Bower 在运行 grunt serve 后抛出 jquery "not injected"警告

jquery - 如何在多行中设置 flexbox 子元素的样式

javascript - 值更改时将 'select' 类型更改为 'date' 类型