猿问

发送的 axios post api 数据在服务器端的 console.log(req.body)

我已经从nodejs开始,并一直尝试使用axios在post api中发送数据,但没有在服务器端获取它,这是我的设置


客户


export default class App extends Component {

  componentDidMount() {

    const headers = {

      'Content-Type': 'application/json',

      'Authorization': 'JWT fefege...'

    }

    let data = { title: "abc", price: 20 }; // i am sending this data 

    axios

      .post("http://localhost:5000/add-product", data, {

        headers: headers,

      })

      .then((res) => console.log(res))

      .catch((err) => console.log(err));

  }

 

  render() {

    return (<div></div>);

  }

}

服务器端


const express = require("express");

const bodyParser = require("body-parser");

const mongoose = require("mongoose");

const app = express();

let cors = require("cors");

const productRoutes = require("./routes/product");

app.use(cors());


app.use(bodyParser.urlencoded({ extended: false }));

app.use(productRoutes);

app.listen(5000)

产品routes.js 文件


const express = require('express');


const productController = require('../controllers/product');


const router = express.Router();

router.post('/add-product', productController.addProduct);

module.exports=router

控制器文件


 exports.addProduct = (req, res, next) => {

console.log(req.body) //gives me {} everytime

 }

在这里,我每次从客户端发送一个对象,我将 {} 视为控制台


我的两个项目分别运行在 localhost:3000 和 5000 上


婷婷同学_
浏览 98回答 1
1回答

收到一只叮咚

添加app.use(bodyParser.json());
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答