React. REST API

108
13 сентября 2021, 18:20

Столкнулся с ошибкой "Request failed with status code 404" пытаясь отправить запрос из формы. Подскажите в чем может быть проблема.

const bcrypt = require('bcrypt') 
const jwt = require('jsonwebtoken') 
 
const User = require('../models/User') 
const keys = require('../config/keys') 
 
module.exports.login = async (req, res) => { 
  const candidate =  
    await User.findOne({ 
      login: req.body.login 
    }) 
 
  if (!candidate) 
    return res.status(404).json({ 
      message: `Неверный логин или пароль` 
    }) 
 
  const passwordResult = bcrypt.compareSync(req.body.password, candidate.password) 
 
  if (!passwordResult) 
    return res.status(404).json({ 
      message: `Неверный логин или пароль` 
    }) 
 
  console.log(candidate) 
 
  const token = jwt.sign({ 
    login: candidate.login, 
    id: candidate._id   
  }, keys.JWT, { 
    expiresIn: 60 * 60 * 24 
  }) // Генерируем токен 
 
  return res.status(200).json({ 
    token: `Bearer ${token}` 
  }) 
} 
 
module.exports.register = async (req, res) => { 
  const candidate =  
    await User.findOne({ 
      login: req.body.login 
    }) 
 
  if (candidate)  
    return res.status(409).json({ 
      message: `Пользователь с такий логином уже существует  
      попробуйте другой` 
    }) 
 
  const salt = bcrypt.genSaltSync(10) 
   
  const password = req.body.password 
 
  const user = new User({ 
    login: req.body.login, 
    password: bcrypt.hashSync(password, salt) 
  }) 
 
  try { 
    await user.save()  
 
    return res.status(201).json(user) 
  } catch(e) { 
    console.log(`При добавлении пользователя произошла ошибка`) 
  } 
}

import React, { Component } from 'react' 
import axios from 'axios' 
 
class Auth extends Component { 
 
  state = { 
    name: '', 
    password: '369369' 
  } 
 
  handleChange = (e) => { 
    this.setState({ 
      name: e.target.value 
    }) 
 
    console.log(this.state.name) 
  } 
 
  handleSubmit = (e) => { 
    e.preventDefault() 
 
    const user = { 
      login: "test@test", 
      password: "369369" 
    } 
 
    axios.get('/api/auth/login', { params: user }) //Использую прокси 
      .then(res => console.log(res)) 
        .catch(err => console.log(err)) 
  } 
 
  render() { 
    return ( 
      <form onSubmit={this.handleSubmit}> 
        <input type="text" name="login" onChange={this.handleChange} placeholder="Логин"/> 
        <input type="password" name="password" placeholder="Пароль"/> 
        <button type="submit">Отправить</button> 
      </form> 
    ) 
  } 
} 
 
export default Auth

READ ALSO
Возвращение функции из функции

Возвращение функции из функции

Для чего используется строка return undefined;? Я удалила, но вроде результат компиляции не изменилсяИ когда actiion равен undefined?

72
Скрыть таб при повторном клике

Скрыть таб при повторном клике

Решил покопаться с JS без использования jQueryПростая задачка при наличии упомянутой библиотеки, но, все же

85
Несколько фильтров на странице

Несколько фильтров на странице

Есть следующая проблемаНа js работает первый фильтр:

270