mongodb 如何将后端创建用户功能连接到前端

syqv5f0l  于 2023-06-29  发布在  Go
关注(0)|答案(4)|浏览(102)

我正在努力弄清楚如何在创建用户时有一个与我的后端相对应的前端。我已经成功地创建了一个用户(可以使用Insomnia发布到MongoDB),但不知道在前端创建用户的结构是什么。下面是我的代码:
路由器

const express = require('express');
const router = express.Router();

router.post('/', async (req, res) => {
    // First Validate The Request
    const { error } = validate(req.body);
    if (error) {
        return res.status(400).send(error.details[0].message);
    }

    // Check if this user already exisits
    let user = await User.findOne({ email: req.body.email });
    if (user) {
        return res.status(400).send('That user already exisits!');
    } else {
        // Insert the new user if they do not exist yet
        user = new User({
            name: req.body.name,
            email: req.body.email,
            password: req.body.password
        });
        await user.save();
        res.send(user);
    }
});

module.exports = router;

server.js
app.use('/api/users', users);

2nc8po8w

2nc8po8w1#

将请求发布到此API:

import axios from 'axios'

axios({
  method: 'post',
  url: '/api/users',
  data: {
    name: 'John',
    email: 'john@example.com',
    password: 'Something'
  }
});
6l7fqoea

6l7fqoea2#

你可以使用axios作为例子,一个流行的库:https://github.com/axios/axios
axios.post("URL", { email: "myemail@mail.com" })

yrefmtwq

yrefmtwq3#

您应该做的是将用户在前端输入的信息存储在一个变量中,并通过post方法将此数据传递给fetch函数。

// User information
let username = 'boneless';

// Options for your request
let options = { method: 'POST', body: JSON.stringify({username: username});

let request = await fetch('url', { options });

let response = await request;

// Now you can apply logic to your response. Based on how your server replies.
  • 我建议阅读fetch,因为它在大多数浏览器中都是原生的。*
b4wnujal

b4wnujal4#

您需要从frontend(react)向服务器(API ENDPOINT URL)发送POST请求,您可以使用fetch apiaxios实现这一点
using fetch api(example)-

function createUser(userData) {
   try {
      const response = await fetch('API_ENDPOINT_URL', {
         method: 'POST',
         headers: {
           'Content-Type': 'application/json',
         },
         body: JSON.stringify(userData)
      })
      return response.json()
   }
   catch(error) {
     // handle error 
   }
}

使用axios -(example

function createUser(userData) {
   axios.post('API_ENDPOINT_URL', userData)
      .then((response)=> {
         return response.json()
      })
      .catch((error)=>{
         // handle error
      })
 }

相关问题