Json 使用NodeJSExpress和ajax获取绝对URL路径

Json 使用NodeJSExpress和ajax获取绝对URL路径,json,ajax,node.js,url,absolute-path,Json,Ajax,Node.js,Url,Absolute Path,我对Node.JS比较陌生,并且已经阅读了很多关于这个主题的文章。然而,我陷入了僵局。我正在尝试获取文件的绝对路径: 例如: 取而代之的是,我在console中没有得到任何打印结果,或者只是得到通常的结果: /public/img,apple.jpg 下面是我在节点中运行的JavaScript文件。我试过一些方法,但我相信这些方法可能是最接近的 注意:我在“app.get”功能中尝试了很多,但它似乎从未打印到控制台 var fs = require('fs'); var http = requ

我对Node.JS比较陌生,并且已经阅读了很多关于这个主题的文章。然而,我陷入了僵局。我正在尝试获取文件的绝对路径:

例如:

取而代之的是,我在console中没有得到任何打印结果,或者只是得到通常的结果:

/public/img,apple.jpg

下面是我在节点中运行的JavaScript文件。我试过一些方法,但我相信这些方法可能是最接近的

注意:我在“app.get”功能中尝试了很多,但它似乎从未打印到控制台

var fs = require('fs');
var http = require("http");
var http = require("http");
var url = require("url");
var req = require('request')

http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});

   var express = require('express');
   var app = express();
   var path = require('path');

   app.get('../img/apple.jp', function(req, res) {
      var dir = req.params.dir;
      console.log(req.originalUrl)

      var pathname = url.parse(req.url).pathname;
      var fullUrl = req.protocol + '://' + req.originalUrl;

      console.log("Request for " + pathname + " received.");
      console.log("test" + fullUrl);

      // res.sendFile(path.join(__dirname + 'sliderImages.json'));
      var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl;
      console.log(fullUrl);
});
以下是我访问过的一些链接:

  • 我也调查过其他人,但我相信这些与我所读到的最接近。尤其是4号

    • 您忘记了
      中的
      g
      。/img/apple.jp
    • 您需要
      http
      两次
    • 你的应用程序中有一个
      req
      对象。但是你使用
      request
      相反(注意他人代码的副本/过去)
        • 您忘记了
          中的
          g
          。/img/apple.jp
        • 您需要
          http
          两次
        • 你的应用程序中有一个
          req
          对象。但是你使用
          request
          相反(注意他人代码的副本/过去)
          • 问题是(对于初学者来说)app.get需要有自己的端口。我在http.CreateServer中尝试它,因为您认为您现在创建了它,并在它内部执行操作。然而,它似乎需要在外面,并有自己的端口来拨打电话

            var fs = require('fs');
            var http = require("http");
            
            var express = require('express');
            var app = express();
            var path = require('path');
            var http = require("http");
            var url = require("url");
            var req = require('request')
            http.createServer(function (request, response) {
            
               response.writeHead(200, {'Content-Type': 'text/plain'});
            
               contents = fs.readFileSync("sliderImages.json", "utf8");
            
               response.end(contents);
            }).listen(8080);
            
            app.get('sliderImages.json', function(req, res) {
                var dir = req.params.dir;
                console.log(req.originalUrl)
                var pathname = url.parse(req.url).pathname;
                var fullUrl = req.protocol + '://' + req.originalUrl;
                console.log("Request for " + pathname + " received.");
                console.log("test" + fullUrl);
            
                var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl;
                console.log(fullUrl);
            
                res.send(url.parse(req.url).pathname);
            
            });
            
            app.listen(3000);
            
            问题是(对于初学者)app.get需要有自己的端口。我在http.CreateServer中尝试它,因为您认为您现在创建了它,并在它内部执行操作。然而,它似乎需要在外面,并有自己的端口来拨打电话

            var fs = require('fs');
            var http = require("http");
            
            var express = require('express');
            var app = express();
            var path = require('path');
            var http = require("http");
            var url = require("url");
            var req = require('request')
            http.createServer(function (request, response) {
            
               response.writeHead(200, {'Content-Type': 'text/plain'});
            
               contents = fs.readFileSync("sliderImages.json", "utf8");
            
               response.end(contents);
            }).listen(8080);
            
            app.get('sliderImages.json', function(req, res) {
                var dir = req.params.dir;
                console.log(req.originalUrl)
                var pathname = url.parse(req.url).pathname;
                var fullUrl = req.protocol + '://' + req.originalUrl;
                console.log("Request for " + pathname + " received.");
                console.log("test" + fullUrl);
            
                var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl;
                console.log(fullUrl);
            
                res.send(url.parse(req.url).pathname);
            
            });
            
            app.listen(3000);
            

            您是否尝试了路径解析?您是否尝试了路径解析?抱歉,不幸的是,这不是问题所在,我做了修复,但仍然一无所获。我将在这里简短地更新,这样我就知道我的应用程序出现了什么问题。进入httpCreateServer。必须把它拿出来,放在一个单独的端口上。现在唯一的问题是我不确定在app.get中查找文件的路径(file@l1ghtk3ira很抱歉,不幸的是,这不是问题,我做了修复,仍然没有什么。我将在这里简短地更新,所以我找出了我所遇到的问题。在HTTPCReCaseServer内部。我必须把它拿出来,并在一个单独的端口。现在唯一的问题是我不是SU。这是我给它的路径,用于在app.get中查找文件(file@l1ghtk3ira也许你应该考虑使用静态文件。