我有一个非常简单的nodejs服务器,但由于某种原因,使用“cors”包似乎无法识别请求的来源。
下面是我的nodejs服务器配置:
const cors = require('cors');
const express = require('express');
const CORS_WHITELIST = [ 'http://localhost:5000' ];
const corsOptions = {
origin: (origin, callback) => {
console.log(origin) // ----> this is always 'undefined'
if (CORS_WHITELIST.indexOf(origin) !== -1){
callback(null, true)
} else {
callback(new Error('Not allowed by CORS'))
}
}
};
const configureServer = app => {
app.use(cors(corsOptions));
};
module.exports = configureServer;
这是我的服务器启动文件:
const express = require('express');
const SERVER_CONFIGS = require('./constants/server');
const configureServer = require('./server');
const configureRoutes = require('./routes');
const app = express();
configureServer(app);
configureRoutes(app);
app.listen(SERVER_CONFIGS.PORT, error => {
if (error) throw error;
console.log('Server running on port: ' + SERVER_CONFIGS.PORT);
});
我在本地主机上运行这个服务器,但是cors回调中的原点总是“未定义”。例如,当我在浏览器上打开http://localhost:5000或进行curl调用时。
如何使用cors使其不阻塞本地主机上的请求?
我读了这个问题,req.headers.origin是未定义的问题,也是CORS和Origin标头!
来源:
如果用户来自ssl加密的网站,来源可能会被隐藏。
另外:一些浏览器扩展从超文本传输协议请求标头中删除了来源和引用,因此来源属性将为空。
有一个解决方案可以通过添加中间件来解决这个问题:
app.use(function (req, res, next) {
req.headers.origin = req.headers.origin || req.headers.host;
next();
});
我希望这些有所帮助。该问题处于< code >等待更多信息状态!
本文向大家介绍轻松创建nodejs服务器(1):一个简单nodejs服务器例子,包括了轻松创建nodejs服务器(1):一个简单nodejs服务器例子的使用技巧和注意事项,需要的朋友参考一下 我们先来实现一个简单的例子,hello world。 似乎每种语言教程的第一节都会讲这个,我们也不例外。 首先我们先创建一个项目目录,目录可自己定义,本案例的目录为 e:/nodetest/。 由于我们要搭建
问题内容: 我写了非常简单的服务器: 我使用nodejs运行它。 现在我想编写一个简单的客户端,该客户端使用ajax调用将请求发送到服务器并打印响应(Hello World) clinet的javascript: 当我打开客户端html文件时,在控制台中出现以下错误: 我尝试将以下内容添加到ajax调用中: 但后来我明白了 任何人都可以解释我做错了什么,也许如何解决? 非常感谢! 问题答案: 第一
问题内容: 我正在尝试定义一些端点并使用进行测试。在我有: 并在: 现在,我正在尝试使用此端点: 但是,当我运行时,出现此错误: 我该如何解决该问题? 问题答案: 假设您通过进行测试,则必须使用命令而不是可执行文件运行测试。 因此,如果您还没有这样做,请确保您已这样做。然后,只需在项目的根目录中运行即可。
除了图像文件之外,所有的数据都被发送到后端。我一直得到req.file是未定义的,这阻止了数据存储在数据库中。 在前端,我有一个表单,收集来自用户的输入,包括一张照片和一个文本描述。这是在一个组件文件中。
本文向大家介绍Nodejs实现的一个简单udp广播服务器、客户端,包括了Nodejs实现的一个简单udp广播服务器、客户端的使用技巧和注意事项,需要的朋友参考一下 nodejs发送udp广播还是蛮简单的,我们先写个服务器用于接收广播数据,代码如下: 然后写个客户端程序,发送广播消息,代码如下: 这里需要注意的是socket.setBroadcast(true);必须在绑定socket成功后才能调用