#node.js #reactjs #mongodb #mongoose #react-fullstack
Вопрос:
Данные извлекаются в бэкэнд
const PostData = async (e) =gt; { e.preventDefault(); const { email, password } = user; const resp = await fetch("/signin", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ email, password }), }); const data = await resp.json(); alert(data.status); if (data.status === 422 || !data) { window.alert("Invalid Registration"); console.log("Invalid Registration"); } else { window.alert("Registration Successful"); console.log("registeration successful"); navigate('/productPage') } }
Приведенный ниже код относится к бэкэнду. Res.status 422 можно увидеть в консоли браузера, но когда я делаю предупреждение во внешнем интерфейсе, оно говорит «не определено», и я также получаю значение null для запроса мангуста
router.post("/signin", async (req, res) =gt; { try { const { email, password } = req.body; console.log(email,password); if (!email || !password) { return res.status(400).json({ message: "please fill the data again" }); } const userLogin = await User.findOne({ email: email }); console.log(userLogin); if (userLogin) { if(password == userLogin.password) { const token = await userLogin.generateAuthToken(); console.log(token); res.cookie("jwtoken",token,{ expires:new Date(Date.now() 25892000000), httpOnly:true, }); res.json({ message: "signed in successfully" }); } else{ res.status(422).json({ message: "wrong password" }); } } else{ res.status(422).json({ message: "Invalid credentials" }); } } catch (error) { console.log(error); } });
Даже несмотря на то, что я отправляю запрос 422 от бэкенда . Я все еще могу получить доступ к своей странице продуктов .