axios提出一个空请求,然后发出正确的请求

时间:2019-10-05 18:18:33

标签: node.js reactjs axios

当我尝试向服务器发出请求时,客户端会发送两个请求,第一个请求带有一个空body,第二个请求带有正确的正文

这是我的服务器文件

const express = require('express');
const app = express();
const server = require('http').createServer(app);
const io = require('socket.io')(server);

const cors = require('cors');
const bodyParser = require('body-parser');
const authMiddleware = require('./app/middlewares/auth.middleware');

const db = require('./config/db');

app.use(authMiddleware);

app.use(cors({ origin: '*' }));
app.use(bodyParser.json());

db.then(res => {
  require('./app/routes')(app);
});

server.listen(3210, () => {
  console.log('\x1b[0m', 'Backend escutando e enviando na porta 3210');
});

这是路由文件

const userController = require('../controllers/user.controller');

module.exports = app => {
  app.post('/sign-up', async (req, res) => {
    try {
      const signUpData = await userController.signUp(req.body);
      res.status(200).json(signUpData.user);
    } catch (error) {
      console.log(error);

      res.status(400).json(error);
    }
  });

  app.post('/sign-in', async (req, res) => {
    try {
      const signInData = await userController.signIn(req.body);
      res.header('x-auth-token', signInData.token);
      res.status(200).json(signInData);
    } catch (error) {
      console.log(error);
      res.status(400).json(error);
    }
  });
};

这是我的React项目上的axios配置

import axios from 'axios';

export const apiUrl = 'http://localhost:3210';

export const api = axios.create({
  baseURL: apiUrl,
  headers: {
    common: {
      'Content-Type': 'application/json'
    }
  }
});

我执行请求的功能

export const signIn = data => {
  return api
    .post(`/sign-in`, data)
    .then(res => {
      console.log(res);
    })
    .catch(err => {
      console.log(err);
    });
};
  

仅当通过客户端提出请求时,才出现此错误   使用邮递员,一切都很好

0 个答案:

没有答案