首页 > 解决方案 > NodeJS 12.6.0 看不到请求的 URL 输出

问题描述

我正在 NodeJS 中测试本地 HTTP 服务器。服务器片段粘贴在下面。我正在使用http://localhost:5500访问服务器。为什么 url 解析器返回空属性?我错过了什么?

看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多详细信息。看起来您的帖子主要是代码;请添加更多细节。

const http = require('http');
const url = require('url');
const StringDecoder = require('string_decoder').StringDecoder;
let decoder = new StringDecoder('utf-8');

const server = http.createServer((req, res) => {

    /* Set header */
    res.setHeader('Content-Type', 'application/json');

    /* Local variables */
    let buffer = '';

    /* Check for incoming request */
    req.on('data', (data) => {
        buffer += decoder.write(data);
    });

    /* Check for complete request */
    req.on('end', () => {
        buffer += decoder.end();

        /* Feedback about req */
        //console.log(buffer);

        /* Feedback URL */
        //let my_url = url.parse(req.url, true);
        console.log(url.parse(req.url));

        /* End res */
        res.end(JSON.stringify({ message: 'OK' }));
    });

}).listen(5500);

server.on('error', (err) => {
    console.log(err.message);
});

输出:

    Url {protocol: null, slashes: null, auth: null, host: null, port: null, …}
index.js:28
auth:null
hash:null
host:null
hostname:null
href:"/"
path:"/"
pathname:"/"
port:null
protocol:null
query:null
search:null
slashes:null
__proto__:Object {parse: , format: , resolve: , …}

标签: node.js

解决方案


我不确定为什么没有显示 URL。但这里有一种获取基本 URL 的方法:Get My Web App Base URL in JavaScript


推荐阅读