node.js - 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: , …}
解决方案
我不确定为什么没有显示 URL。但这里有一种获取基本 URL 的方法:Get My Web App Base URL in JavaScript
推荐阅读
- bokeh - 使用 Dask、Xarray、Holoviews、Bokeh 数据集
- mysql - Mysql GROUP BY with MAX(DATE) and MIN (DATE)
- javascript - 如何在不循环的情况下替换字符串变量中的每个字符?
- c# - 如何定义自引用的泛型类型参数
- python - Python Dataclasses:在冻结的 Dataclass 中模拟默认工厂
- php - Magento 1 Rest 调用在每秒调用一次时导致 php 错误
- javascript - 你能告诉我为什么“未定义”出现在点击随机图像时?
- git - 管理 Linux 服务器上多个 git 存储库的用户访问权限,根据 SSH 密钥授予每个存储库的访问权限?
- javascript - 在来自不同文件的 Web 组件槽中呈现 HTML5 模板
- javascript - JavaScript 返回具有最高分数的数组项