我如何真正获得起源?当我在下面使用以下内容时router.get('/', ...),它只返回未定义。
var origin = req.get('origin');
Run Code Online (Sandbox Code Playgroud)
(我尝试使用原始域作为查找键,然后构建正确的 URL 参数以发布到 API)
小智 5
在请求路径中添加此expressJs中间件。确保这是第一次遇到中间件请求。
/**
* Creates origin property on request object
*/
app.use(function (req, _res, next) {
var protocol = req.protocol;
var hostHeaderIndex = req.rawHeaders.indexOf('Host') + 1;
var host = hostHeaderIndex ? req.rawHeaders[hostHeaderIndex] : undefined;
Object.defineProperty(req, 'origin', {
get: function () {
if (!host) {
return req.headers.referer ? req.headers.referer.substring(0, req.headers.referer.length - 1) : undefined;
}
else {
return protocol + '://' + host;
}
}
});
next();
});
Run Code Online (Sandbox Code Playgroud)
其中 app 是 Express 应用程序或 Express 路由器对象。
var origin = req.get('Origin')router.get当服务器(在本例中为 app.js)在其路由之前插入时工作res.header("Access-Control-Allow-Origin", <a single allowed domain here (or '*' for any domain)>);。
| 归档时间: |
|
| 查看次数: |
16232 次 |
| 最近记录: |