Ошибка в Node.js при отправке формы для входа

При отправке формы для входа на сайт сервер сообщает об ошибке при сравнении пароля bcrypt.compare. Хотя в Postmone функция работает, как часы.

Вот функция в Node.js:

async getOneUser (req, res) {
        try{
                    
                    (async()=>{
                        const { name, email, pass} = req.body
               db.query('SELECT * FROM users WHERE name=$1::text AND email=$2::text', [name, email] , (err, row) =>{
                    if(err){
                        console.log('Error executing query', err.stack);
                    }
                    (async()=>{
                        const hash = await bcrypt.compare(pass, row.rows[0].pass)
                        if(hash){
                            res.json(row.rows)
                        }else{
                            res.json({"message": "Такого полязователя нет с таким email"})
                        }
                    })();
                    
                });
            })();
            }catch(e){
            console.log(e);
            res.send({message: "Ошобка сервера getOneUser"})

        }  
    }

Вот функция в React на запрос на сервер:

export const auth = (name, email, pass) =>{

    return async dispatch => {//этот dispatch нужно от куда либо экспортировать? 
        try{
            const response2 = await axios.get(`http://localhost:5000/api/login`, {
            name,
            email,
            pass
        })
        console.log(response2.data)
        }catch(e){
            alert(e.response2.data)
        }
    } 
}

Вот форма в React:

import React, { useState } from 'react';
import Input from '../../assets/utils/input/Input';
import './Auth.css'
import {useDispatch} from "react-redux";
import { auth } from '../../action/user';

const Auth = () => {
    
    const[name, setName]=useState("")
    const[email, setEmail]=useState("")
    const[pass, setPass]=useState("")
    const dispatch = useDispatch()
    return(
        <div className='auth'>
            <div className='auth__header'>Авторизация</div>
            <Input value={name} setValue={setName} type="name" placeholder="Введите Имя..."/>
            <Input value={email} setValue={setEmail} type="email" placeholder="Введите Email..."/>
            <Input value={pass} setValue={setPass} type="pass" placeholder="Введите Пароль..."/>
            <button className='auth__btn' onClick={()=>dispatch(auth(name, email, pass))}>Войти на сайт</button>
        </div>
    )
}

export default Auth;

Это ошибка которую возвращает функция async getOneUser:

C:\Users\User\Desktop\Fullstack\server\controller\user.controller.js:77
                        const hash = await bcrypt.compare(pass, row.rows[0].pass)
                                                                            ^

TypeError: Cannot read properties of undefined (reading 'pass')
    at C:\Users\User\Desktop\Fullstack\server\controller\user.controller.js:77:77
    at C:\Users\User\Desktop\Fullstack\server\controller\user.controller.js:83:23
    at Query.<anonymous> (C:\Users\User\Desktop\Fullstack\server\node_modules\pg-pool\index.js:421:18)
    at Query.handleReadyForQuery (C:\Users\User\Desktop\Fullstack\server\node_modules\pg\lib\query.js:139:14)
    at Client._handleReadyForQuery (C:\Users\User\Desktop\Fullstack\server\node_modules\pg\lib\client.js:290:19)
    at Connection.emit (node:events:390:28)
    at C:\Users\User\Desktop\Fullstack\server\node_modules\pg\lib\connection.js:114:12       
    at Parser.parse (C:\Users\User\Desktop\Fullstack\server\node_modules\pg-protocol\dist\parser.js:40:17)
    at Socket.<anonymous> (C:\Users\User\Desktop\Fullstack\server\node_modules\pg-protocol\dist\index.js:11:42)
    at Socket.emit (node:events:390:28)
[nodemon] app crashed - waiting for file changes before starting

Так же в консоли в браузере вот такие ошибки?

xhr.js:220          GET http://localhost:5000/api/login net::ERR_CONNECTION_RESET

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'data')
    at user.js:31:1

Ответы (1 шт):

Автор решения: kotleni

Отправляйте POST запрос вместо GET, тогда у вас получится прикрепить тело (body).

// ...
const response2 = await axios.get(`http://localhost:5000/api/login`, {
    name,
    email,
    pass
})
// ...
→ Ссылка