所以我已经在localhost上的节点中成功设置了https服务器。 它工作正常,但我有来自第三方api的链接,我想打电话并在前端显示数据。当我尝试在前端获取它时,我得到No'Access-Control-Allow-Origin'标头出现在请求的资源上。 所以我认为我需要为此创建https代理。 非常感谢。
这是我的node.js
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
var a = https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("Nemke");
}).listen(8000);
API的链接 https://api.kursna-lista.info/b7b80a59415046c33449b6a2a96bd4d8/kursna_lista
现在我想要达到的目的是:
fetch('https://localhost:8000/api.kursna-lista.info/b7b80a59415046c33449b6a2a96bd4d8/kursna_lista').then(res => res.json()).then(data => data).catch(err => err)
答案 0 :(得分:0)
您需要在后端创建一个控制器,该控制器调用第三方api并将结果返回到前端。并且您的前端将呼叫控制器而不是呼叫第三方。
但是,如果您能够更改此第三方应用程序的源代码,则可以启用交叉源,这也应该解决问题。
How to enable cross-origin resource sharing (CORS) in the express.js framework on node.js