用户使用正确的用户名和密码正确注册后,我没有正确重定向。我需要一个合适的代码

问题描述 投票:0回答:0

我使用 nodejs (mysql) 作为后端并作为前端做出反应。所以在这个模块中,我试图在用户正确注册时重定向到另一个页面(用户名是唯一的,密码匹配重复密码)。 我的前端代码:

import React, { Fragment } from 'react';
import { useState,useEffect} from 'react';
import axios from 'axios';
import ReactSearchBox from "react-search-box";
import { connect } from 'react-redux';
import { key } from 'localforage';
import { Alert } from 'bootstrap';
import { useNavigate } from 'react-router-dom';

function Newlogin() {
    const navigate=useNavigate()
    const[usernamea,setusername]=useState('')
    const[passworda,setpassword]=useState('')
    const[repeatpass,setreapeatpass]=useState('')
    const[loginstatus,setLoginstatus]=useState('')
    const check=()=>{
       
    axios.post('http://localhost:3001/checkusersk', {
            
           username: usernamea,
           password: passworda,
        }).then((response)=>{
            
        if(response.data){
            if(response.data==='done'){
                navigate('/sk-details')
            }
            else {
                console.log(response.data)
                setLoginstatus(response.data.message); }
            
         } 
       /*  if(response.data==='done') {
            navigate('/sk-details') 

         }  */
        })
        
        }
    const passwordcheck=(e)=>{
        if(passworda!=repeatpass){
            setLoginstatus("password mismatch")
        }
        else
       
            {check()}
        }
    
     
    return ( 
        <div>
        <div>
            <input type="text" placeholder='enter username' name='username' onChange={(e)=>{setusername(e.target.value)}}/>
            <br/>
            <br/>
            <input type="password" placeholder='enter password' name='password' onChange={(e)=>{setpassword(e.target.value)}}/>
            <br/>
            <br/>
            <input text="password" placeholder='repeat password' name='repeatpass' onChange={(e)=>{setreapeatpass(e.target.value)}}/>
            <br/>
            <br/>
    
            <button onClick={passwordcheck}></button>
        </div>

        <div class="alert alert-info" role="alert">
             {loginstatus}
        
        </div>
        
      
        </div>
     );
    }  

export default Newlogin;

我的后端代码:

import React, { Component } from 'react';
import { useState } from 'react';
import axios from 'axios';
import { useNavigate } from 'react-router-dom';
import { useEffect } from 'react';
import ReactSearchBox from "react-search-box";
import { connect } from 'react-redux';
import { key } from 'localforage';


function Sksignup(){
    const[shopname,setshopname]=useState('')
    const[address,setaddress]=useState('')
    const[category,setcategory]=useState('')
    const[areaname,setareaname]=useState('')
    const[state,setthestate]=useState('')
    const[pincode,setpincode]=useState('')
    const[nation,setnation]=useState('')

    const navigate=useNavigate()
    const insertdata=()=>{
        axios.post('http://localhost:3001/register', {
            shopname:shopname,
            address:address,
            category:category,
            areaname:areaname,
            state:state,
            pincode:pincode,
            nation:nation
    }).then( 
        navigate('/userentry')
    )  
    }  
    return(
    <div>

        
    <label>enter your shop name:</label>
    <input type="text" name="shopname" onChange={(e)=>{setshopname(e.target.value)}}/>
    <br/>
    <label>enter your shops address:</label>
    <input type="text" name="address" onChange={(e)=>{setaddress(e.target.value)}}/>
    <br/>
    <label>enter your category:</label>
    <input type="text" name="category" onChange={(e)=>{setcategory(e.target.value)}}/>
    <br/> 
    <br/>
    <label>area name:</label>
    <input type="text" name="area name" onChange={(e)=>{setareaname(e.target.value)}}/>
    <br/>
    <label>state:</label>
    <input type="text" name="state" onChange={(e)=>{setthestate(e.target.value)}}/>
    <br/>
    <label> pincode:</label>
    <input type="int" name="pincode" onChange={(e)=>{setpincode(e.target.value)}}/>
    <br/>
    <label>nation:</label>
    <input type="text" name="nation" onChange={(e)=>{setnation(e.target.value)}}/>
    <br/>
    <button onClick={insertdata}>register</button>
    <br/>
    <br/> 
    </div>
    )


    }
export default Sksignup;

请随时修改或添加新代码以获得我请求的输出:)

我确实尝试过交换一些代码和更改一些逻辑,但是没有用,每次我都想出一个新的错误。我期待一个正确的代码:)

mysql node.js reactjs web-development-server web-deployment-project
© www.soinside.com 2019 - 2024. All rights reserved.