Advertisement
ghorardim

POST Method problem

Jan 19th, 2019
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. import React, { Component } from 'react'
  3. import './Register.css';
  4. import axios from 'axios'
  5.  
  6. const REGISTER_URL = 'http://127.0.0.1:8000/api/register/' // received api ulr...
  7.  
  8. const initiaState = {
  9.         username : '',
  10.         email : '',
  11.         password: ''
  12.     }
  13.  
  14. class Register extends Component{
  15.  
  16.     constructor(props){
  17.         super(props)
  18.  
  19.         this.myRegister = React.createRef()
  20.  
  21.  
  22.         this.state = {
  23.         ...initiaState
  24.     }
  25.  
  26.     }
  27.  
  28.  
  29.    
  30.  
  31.     changeHandler = (event) => {
  32.  
  33.         this.setState({
  34.             [event.target.name]: event.target.value
  35.         })
  36.  
  37.     }
  38.  
  39.     submitHandler = (event) =>{
  40.         const {
  41.             username,
  42.             email,
  43.             password,
  44.         } = this.state;
  45.  
  46.         const postData = {
  47.  
  48.             username : username,
  49.             password : password,
  50.             email : email,
  51.  
  52.         };
  53.         event.preventDefault()
  54.         console.log(this.state)
  55.         this.myRegister.current.reset()
  56.         axios.post(REGISTER_URL,postData)
  57.         .then(res =>{
  58.             console.log(res)
  59.        
  60.         })
  61.         .catch(error =>{
  62.             console.log("ERROR::: "+error)
  63.         })
  64.  
  65.  
  66.         this.setState({
  67.             ...initiaState
  68.         });
  69.        
  70.        
  71.     }
  72.  
  73.     render(){
  74.  
  75.         return(
  76.             <div className="Register-box">
  77.  
  78.             <form ref = {this.myRegister} className="Form" onSubmit={this.submitHandler }>
  79.                 <div className ="form-group ">
  80.                   <label htmlFor="username" > Name: </label>
  81.                    <input
  82.                    className = "from-control ml-4"
  83.                    type="text"
  84.                    placeholder = '  Enter Your Name '
  85.                    name = "username"
  86.                    id = "username"
  87.                    value = {this.state.name}
  88.                    onChange = {this.changeHandler}
  89.                    />
  90.                 </div>
  91.  
  92.                 <div className ="form-group">
  93.                   <label htmlFor="email" > Email: </label>
  94.                    <input
  95.                    className = "from-control ml-4"
  96.                    type="text"
  97.                    placeholder = '  Enter Your Email '
  98.                    name = "email"
  99.                    id = "email"
  100.                    value = {this.state.email}
  101.                    onChange = {this.changeHandler}
  102.                    />
  103.                 </div>
  104.  
  105.                 <div className ="form-group">
  106.                   <label htmlFor="password" className="mr-4"> Password: </label>
  107.                    <input
  108.                    className = "from-control ml-2"
  109.                    type="password"
  110.                    placeholder = '  Enter Your Password '
  111.                    name = "password"
  112.                    id = "password"
  113.                    value = {this.state.password}
  114.                    onChange = {this.changeHandler}
  115.                    />
  116.                 </div>
  117.  
  118.  
  119.  
  120.                 <button className = "btn btn-primary" type="submit" value="Submit"> Submit </button>
  121.             </form>
  122.  
  123.  
  124.  
  125.             </div>
  126.            
  127.         );
  128.        
  129.     }
  130. }
  131.  
  132. export default Register;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement