首页 > 解决方案 > 在 vue.js 中使用 axios post 方法 express 时响应 500 错误

问题描述

我遇到这个问题,使用 axios.post 时返回 Http 500 状态代码内部服务器错误我使用 vue.js 作为前端 express 作为后端,使用 axios 发送请求

看看我的代码:

后端:server.js

router.post('/users', async(req, res) =>{
    try{
        let user= new User();
        user.name = req.body.name;
        user.password = req.body.password;


        await user.save();

        res.json({
            status: true,
            message: "saved"
        });
    }
    catch (err) {
        res.status(500).json({
            success: false,
            message: err.message
        });
    }
});

前端:user.vue

<template>
     <div>
      <v-row>
          <v-col cols="12" sm="12" md="6">
            <v-text-field
              type="text"
              shaped
              flat
              dark
              outlined
              v-model="name"
            ></v-text-field>
          </v-col>
          <v-col cols="12" sm="12" md="6">
            <v-text-field
              type="text"
              shaped
              flat
              dark
              outlined
              v-model="password"
            ></v-text-field>
          </v-col>
        </v-row>
        <br />
        <v-row align="center">
          <v-col class="col-7 text-left align-center">
            <div>
              <v-btn
                class="white--text col-3"
                color="green"
                style="text-decoration: none; color: inherit"
                @click="addUser"
              >
                <div>submit</div>
              </v-btn>
            </div>
          </v-col>
        </v-row>
      <div>
   </template>
<script>
import axios from "axios";
export default {
  data() {
    return {
      name: "",
      password: "",
    };
  },
  methods: {
    async addUser() {
      try {
        const newUser = {
          name: this.name,
          password: this.password,
         
        };
        console.log(newUser);
        const response = await axios.post("http://localhost:3000/users", newUsers);
        console.log(response.data);
      } catch (err) {
        console.log(err);
      }
    },
  },
};
</script>

在 console.log(newUser) 中正确返回控制台我输入的内容,但错误正是

 POST http://localhost:3000/users 500 (Internal Server Error) xhr.js?b50d:177

 
Uncaught (in promise) Error: Request failed with status code 500  createError.js?2d83:16 
    at createError (createError.js?2d83:16)
    at settle (settle.js?467f:17)
    at XMLHttpRequest.handleLoad

何时使用邮递员并发布它,输入值保存在数据库(mongodb)中

标签: javascriptvue.jsexpressaxios

解决方案


推荐阅读