【问题标题】:How to return json data from endpoint within backend如何从后端的端点返回 json 数据
【发布时间】:2021-01-02 20:05:08
【问题描述】:

我正在尝试通过我的前端运行 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.js reactjs axios backend


    【解决方案1】:

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

    const data = req.body

    然后

    console.log(data);

    【讨论】:

    • 我编辑了我的帖子以提供更多信息,我的主 server.js 中有一个解析器,我尝试使用 router.use(express.js) 添加解析器,然后使用 data = req。正文,但它返回 {} 所以我还是做错了。
    猜你喜欢
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    相关资源
    最近更新 更多