我正在創建 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
那么,我該如何解決呢?
uj5u.com熱心網友回復:
好的,這是答案,要使您需要安裝body-parse到 API 中才能正常作業。就像這樣:
const bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
希望,它會幫助某人!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329243.html
標籤:javascript 节点.js 休息 公理
