如何在 hapi.js 中允许 CORS

How to allow CORS in hapi.js

我是 Hapi.js 的新手,我设计了一个登录 API。我从邮递员那里获得了正确的有效载荷数据,但是当我从我的 angular 应用程序调用相同的 API 时,我没有获得数据。即使在网络选项卡中,它也显示失败状态。

在一些 RND 之后,我发现了 CORS 问题,并且我已经以这种方式设置了 CORS。

const server = Hapi.server({
    port: 3000,
    host: '192.168.1.13',        
    "routes": {
        "cors": {
            "origin": ["Access-Control-Allow-Origin","192.168.1.13:4200"],
            "headers": ["Accept", "Content-Type"],
            "additionalHeaders": ["X-Requested-With"]
        }
    }
});

我将此 link 用于 refrence

我的节点服务器 运行 在 3000 端口上,angular 应用程序在 4200 上。

错误信息:

Access to XMLHttpRequest at 'http://192.168.1.13:3000/login' from origin 'http://192.168.1.13:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

如果还没有,请尝试不带 "Access-Control-Allow-Origin" 那样写。这可能是问题的根源:

const server = Hapi.server({
port: 3000,
host: '192.168.1.13',        
"routes": {
    "cors": {
        "origin": ["http://192.168.1.13:4200"],
        "headers": ["Accept", "Content-Type"],
        "additionalHeaders": ["X-Requested-With"]
    }
}
});

如果连这个都不起作用,请尝试这个以确保问题不在其他地方:

const server = Hapi.server({
port: 3000,
host: '192.168.1.13',        
"routes": {
    "cors": true
}
});