使用node和https localhost获取第三方链接的api

时间:2017-09-01 03:48:28

标签: javascript node.js

所以我已经在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)

1 个答案:

答案 0 :(得分:0)

您需要在后端创建一个控制器,该控制器调用第三方api并将结果返回到前端。并且您的前端将呼叫控制器而不是呼叫第三方。

但是,如果您能够更改此第三方应用程序的源代码,则可以启用交叉源,这也应该解决问题。

How to enable cross-origin resource sharing (CORS) in the express.js framework on node.js