javascript - req.body 的值是未定义的 REST API
问题描述
我正在创建 REST API 应用程序。我有前端 (Nuxt.js) 和 API (Express.js),我正在尝试将数据从前端发送到 API。Api 在端口 3001 上工作,在端口 8010 上工作。
因此,数据的发送如下所示:
正面作用:
methods: {
async postTip() {
const test = await postTipFunc({
content: this.tipContent
})
}
}
这是postTipFunc
功能(project_front/api/index.js)
:
import axios from "axios";
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
const api = axios.create({
baseURL: 'http://localhost:8010/',
headers: {
'Content-Type': 'application/json'
}
})
export const postTipFunc = async payload => {
const { data } = await api.post(`p-t`, payload)
return data
}
这是到后端的端点(project_front/server/routes/index.js)
:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
const { Router } = require('express')
const axios = require('axios')
const dotenv = require('dotenv')
dotenv.config()
const api = axios.create({
baseURL: "http://localhost:3001/",
})
const router = Router()
router.post(`/p-t`, async (req, res) => {
try {
const data = await api.post(`/post-tip`, req.body)
res.json(data.data)
} catch (e) {
console.log(e)
}
})
module.exports = router
最后是后端(prodect_api/src/routes/index.js)
:
const router = require('express').Router();
const wrapAsync = require('./../middlewares/async')
const tipController = require('../controllers/tip')
router.post(
"/post-tip",
wrapAsync(tipController.postTip)
)
module.exports = router;
实际上,该函数tipController.postTip
只是接收数据并在控制台中显示,因此显示它是没有意义的。
另外,如果有帮助,请console.log()
仅在此处显示数据 - project_front/api/index.js
。在那之后一切都是undefined
那么,我该如何解决呢?
解决方案
好的,这是答案,要使您需要安装body-parse
到 API 中的工作正常进行。就像这样:
const bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
希望,它会帮助某人!
推荐阅读
- javascript - 如何比较两个字符串日期时间?
- amazon-web-services - API Gateway - 从 S3 读取文件,该文件刚刚由同一休息端点上的 lambda 函数创建
- node.js - 如何在 express 和 psql 中设置与文件上传(multer)和 userId 的关联?
- amazon-web-services - AWS SES 设置在与域/EC2 不同的区域...验证域后电子邮件验证失败
- php - ahref 到其他网站,包括表格中的 php 变量 html
- mysql - 如何使用 VBA 将所有 Word 表单日期字段从 m/d/yyyy 重新格式化为 yyyy-mm-dd?
- javascript - 如何使用 setcookie() 在同一页面中提交表单(使用单选按钮)[编辑:使用 Javascript]
- python - 使用沙盒环境和 searchtweets API 了解 Twitter API 速率限制
- java - M2Eclipse:如何定义程序参数,例如 VM 参数?
- python - 为分类变量 sklearn 创建我的自定义 Imputer