首页 > 解决方案 > 如何从后端的端点返回 json 数据

问题描述

我正在尝试通过我的前端运行 axios 请求以访问我的后端,其中它将执行 req.get 以返回一个 json 对象,这就是 axios 代码的样子:

import axios from 'axios';

const api = axios.create({
    baseURL: "http://localhost:5000"
});


export const stockQuote = symbol => {
    return api.get(`/stock/${symbol}`);
}

然后它会打到我的后端,看起来像这样:

const express = require("express");
var router = express.Router();

router.get(`/stock/:symbol`, async(req, res) => {
    const data = req.get(`https://sandbox.iexapis.com/stable/tops?token=Tsk_938206aef2a646dasdfe4ddf024b02f4&symbols=aapl`);
    console.log(data);
    res.send(data);
})

module.exports = router;

我想通过我的后端工作,因此用户无法查看我正在访问的特定 api 端点,但由于某种原因,console.log(data) 返回未定义。我在这里做错了什么,因为我对这些功能很陌生?

编辑:这是我的 server.js

const express = require("express");
const app = express();
const cors = require("cors");
// const pool = require("./db");
const PORT = 5000;

//Parser for JSON objects passed through server
app.use(cors());
app.use(express.json());

var iex = require('./routes/iex');


app.listen(PORT, () => {
  console.log(`Backend listening at http://localhost:${PORT}`)
})

app.get(`/stock/:symbol`, iex);

标签: node.jsreactjsaxiosbackend

解决方案


在您的支持中安装正文解析器并访问以下数据:

const data = req.body

接着

console.log(data);


推荐阅读