javascript - 我不知道如何在 nodejs express 服务器中存储来自 api 调用的 json 数据,并将其发送到 react 本机客户端
问题描述
我正在运行一个带有 app.js 的节点 js 服务器,如下所示:
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var cors = require("cors");
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
testAPIRouter= require("./routes/testAPI");
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(cors());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use("/testAPI", testAPIRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
我正在尝试从我的服务器调用 igdb api 并存储该请求的 json 内容,然后将其路由到客户端。我的路由请求代码如下所示:
var express = require("express");
var router = express.Router();
const axios = require('axios');
axios({
url: "https://api.igdb.com/v4/covers",
method: 'POST',
headers: {
'Accept': 'application/json',
'Client-ID' : '**********',
'Authorization' : '***********',
},
data: "fields alpha_channel,animated,checksum,game,height,image_id,url,width;"
})
.then(response => {
console.log(response.data);
const testing = response.data;
})
.catch(err => {
console.error(err);
});
router.get("/", function(req, res, next) {
res.send("API is working properly");
res.json(testing);
});
module.exports = router;
在邮递员上连接到我的服务器并发出请求时,我收到一条消息,表明我的 API 正常工作,这是预期的,但未返回 json 数据。我知道我的 API 发布请求格式正确,因为 json 正在记录到我的服务器的终端,然后是以下错误消息:
GET /testAPI 200 4.002 ms - 23 错误 [ERR_HTTP_HEADERS_SENT]: 在 ServerResponse.header (C:\Users\matth\OneDrive\桌面\VSCodes\api\node_modules\express\lib\response.js:767:10)
如果有人可以帮助以正确的方式将 json 数据从我在服务器中的 api 调用传输到客户端,那将不胜感激!!!
解决方案
推荐阅读
- python - 为什么孩子的 Kivy ScrollView 孩子不可滚动?
- javascript - 模块导入错误
- bluetooth - 蓝牙 LE 广告包:在哪里可以找到前导码、MAC 地址和 CRC?
- r - tidyr separate():当许多条目相同时加速?
- python - 在pyqt5中实现的folium choropleth图例中没有颜色并且工具提示没有显示
- python - 在 Python 中遍历内部字典
- flutter - 如何在listview颤动中显示来自firestore的图像数组。?
- javascript - 可以在 vue 的其他文件中转移组件的功能吗?
- node.js - Node.js 应用程序构建在本地服务器上,但不是 heroku
- c# - 没有代码的 Razor 组件的类名是什么