NodeJS 404当尝试从后端使用axios获得响应

5jvtdoz2  于 2023-04-11  发布在  Node.js
关注(0)|答案(2)|浏览(118)

我试图通过axios从后端到前端获取函数结果,但每次都返回404。
我设法向后端发送请求并激活函数,但在获取结果时,它开始返回404
应用程序中的路由

import cardRoute from './routes/test';
const app = express();
app.use('/test', cardRoute);

./routes/test.ts(backend)
函数test_load()返回字符串

import express from 'express';
import { test_load }  from '../cardpull';

const router = express.Router();

router.post('./test-bed',
  async (req, res) => {
  let cards = test_load()
  res.send(cards);
},
);

export default router;

前端调用

async function GetCard() {
    var cards = await axios.post<string>('/test/test-bed');
    return cards;
  };
4uqofj5v

4uqofj5v1#

您的路由无效

router.post('./test-bed',
  async (req, res) => {
  let cards = test_load()
  res.send(cards);
},
);

应该是:

router.post('/test-bed',
  async (req, res) => {
  let cards = test_load()
  res.send(cards);
},
);

在axios URL上,可能需要包含主机和端口,因为如果只定义端点,它将访问前端主机和端口,例如,如果在localhost:3000上打开express,则axios将为axios.post('http://localhost:3000/test/test-bed')
注:我没有用typescript写答案,但用javascript风格应该足够清晰。

k4emjkb1

k4emjkb12#

我也遇到了同样的问题。路由器必须返回JSON响应或状态码。希望有帮助。

相关问题