how to send form data to mongodb in react js
client/register.js
import React, { useState } from 'react'import axios from 'axios';export default function Register() {const [info, setInfo] = useState({})const inputEvent = (e) => {setInfo((preV) => {return {...preV,[e.target.name]: e.target.value}})}// console.log(info)const btnClick = (e) => {e.preventDefault();const url = 'http://localhost:8000/register'const {name, title}= info;axios.post(url, info).then(res => console.log(res))}return (<><div className="container w-50 my-5 shadow p-5 rounded"><form method='POST' className="row g-3 "><div className="col-md-6"><input type="text" className="form-control" name='name' onChange={inputEvent} placeholder='Enter Name..' /></div><div className="col-md-6"><input type="text" className="form-control" name='title' onChange={inputEvent} placeholder='Enter title..' /></div><div className="col-12"><button type="submit" onClick={btnClick} className="btn btn-primary">Sign in</button></div></form></div></>)}
server/src/app.js
const express = require('express');const cors = require('cors');const bodyParser = require('body-parser')const mongoose = require('mongoose');const app = express();app.use(express.urlencoded({extended:true}));// app.use(bodyParser.json())// app.use(bodyParser.urlencoded())app.use(express.json());app.use(cors())mongoose.connect('mongodb://localhost:27017/userinfo', {useNewUrlParser: true, useUnifiedTopology : true},()=>{console.log("connection successfully")});const userSchema = new mongoose.Schema({name:String,title : String})const User = new mongoose.model('user', userSchema);app.post('/register', (req,res)=>{const {name, title} = req.body;const user = new User({name, title})user.save(err =>{if(err){res.send({error: err})}else{res.send({msg: 'successfully inserted'})}})})app.listen(8000, ()=>{console.log('server listening...')})
server listening... connection successfully
Post a Comment