使用ExpressJS实现API的外部CALL(避免了cors问题)



我正在尝试使用express js进行API调用,以获取一些数据,然后将其用于我的学校项目!我听说我可以在浏览器上安装扩展或类似的东西,但这只适用于我的电脑

因此,我尝试使用ExpressJS创建自己的代理。我需要在我的app.get('/'(上写其他东西吗?或者用斜线可以吗。提前感谢!

const express = require('express');
const request = require('request');
const app = express();
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
next();
});
let key1 = '8151a53b2c1d4c3db2df'
let url ='http://api.sl.se/api2/realtimedeparturesv4.json?key='+key1+'&siteid=9192&timewindow=5'

app.get('/', (req, res) => {
request( { url: url},
(error, response, body) => {
if (error || response.statusCode !== 200) {
return res.status(500).json({ type: 'error', message: err.message });
}
res.json(JSON.parse(body));
console.log(body);
} )
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`listening on ${PORT}`));```

使用类似的cors包

var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())

如果你想为单一路线启用它:

app.get('/', cors(), (req, res) => { 
});

最新更新