javascript - 从 node.js 和 express.js 中的请求中获取客户端域
问题描述
我想在后端获取客户端的主机域。例如
在前端,使用 ajax 将 api requeset 发送到后端。
$.get('http://localhost:4000/auth');
在后端,我确实喜欢这样。
// routes/auth.js
router.get('/', (req, res) => {
console.log(req.headers.referer);
...
});
...
module.exports = router;
这是我app.js
的后端。
const express = require('express');
const app = express();
const authRoutes = require('./routes/auth.js');
...
app.use(bodyParser.json());
app.use(passport.initialize());
app.use(passport.session());
app.use('/auth', authRoutes);
...
预期结果:
localhost:3000
当前结果:
undefined
它显示后端网址。
当我执行 console.log(req.headers) 时,如下所示。
- 邮递员的要求
{ 'user-agent': 'PostmanRuntime/7.17.1',
accept: '*/*',
'cache-control': 'no-cache',
'postman-token': '5eb5791e-3a5a-4285-83c9-33320d935a2e',
host: 'localhost:4000',
'accept-encoding': 'gzip, deflate',
cookie:
'connect.sid=s%3A5DIRzqn5HVL3vra410YJ6I56uo9qIj2M.6OWL8rKr1peEMz60sakejaeJJNgv5LQFUKypA6cCXLQ',
connection: 'keep-alive' }
- 来自前端的请求
{ host: 'localhost:4000',
accept: '*/*',
'content-type': 'application/json' }
是不是我做错了什么?请有人帮助我。
解决方案
推荐阅读
- node.js - https.request to onesignal 在 aws lambda 上返回超时
- javascript - 变量和函数的名称
- wso2 - 如何更新 wso2is 组件
- android - 我编译我的 kivy 应用程序在使用 buildozer 编译到 android 应用程序时显示空白
- python-3.x - 鼠标光标指向方法或函数时的python 3.8上下文帮助
- python - 列表理解和“所有”关键字
- android - 如何避免在单个事件的视图模型上使用 LiveData?
- c# - 如何在 C# 中异步执行 MSCRM 工作流
- apache-spark - 用于存储类似日志的 Parquet 行组大小
- mysql - 做关系分解的原因