首页 > 解决方案 > 来自后端服务器的 Node Express 第三方 api 调用

问题描述

我正在构建一个调用第三方 api 并显示信息的简单网站。我想在后端进行所有的 api 调用,因为我读到它更安全一些。我有一个接收提交的搜索词的组件,将其发送到服务器,以便服务器使用搜索词调用 api,但我在具体如何做到这一点时遇到了麻烦。这就是我在 server.js 上的内容

    const express = require('express');
    const axios = require('axios')
    const app = express();
    const port = 8000
    const cors = require("cors");

    app.use(express.json())
    app.use(express.urlencoded({extended: true}))
    app.use(cors())

    app.post("/search", (req, res) => {
        console.log(req.body)
        const {search} = req.body
        axios.get(`https://www.balldontlie.io/api/v1/players?search=${search}`)
            .then(data => {
                console.log(data.data.data)
                res.send(data)
            })
            .catch(err => {
                console.log(err)
            })
    })

    app.listen(port, () => console.log(`Listening on port: ${port}`));

这是在我的组件中调用服务器的 useEffect:

    useEffect(() => {
        axios.post(`http://localhost:8000/search`, {
            search: `${props.search}`
        })
            .then(res => {
                console.log(res);
            })
            .catch(err => {
                console.log(err);
            })
   }, [])

标签: node.jsreactjsrestexpressaxios

解决方案


推荐阅读