Не удается подключиться к серверу NodeJS Express

#node.js #reactjs #express #axios

#node.js #реагирует на #экспресс #аксиос

Вопрос:

Я не могу подключиться к своему экспресс-серверу. Я пытаюсь использовать Axios для подключения с моего переднего конца, но он никогда не достигает конечной точки. Кроме того, когда я пытаюсь подключиться непосредственно из браузера, он просто вращается. Когда я запускаю сервер, я действительно вижу сообщение журнала консоли из функции прослушивания, так что, похоже, оно запущено. Но Axios.post никогда не получает маршрут для входа в систему.

Вот мой index.js на сервере

 const express = require('express'); const app = express(); const mysql = require('mysql'); const cors = require('cors');  app.use(cors); app.use(express.json());  const db = mysql.createPool({  host: 'localhost',  user: 'root',  password: 'root',  databaseName: 'ncaa' });  app.post("/login", (req, res) =gt; {  const userName = req.body.userName;  const password = req.body.password;   db.query("SELECT * from user where username = ? and password = ?", [userName, password], (err, result) =gt; {  if(err){  res.send({err: err});  }    if (result){  res.send(result);  }  else {  res.send({message: "Username or password is incorrect"});  }  }); });  app.listen(3001, () =gt; {  console.log('App running on 3001'); });  

Вот мой app.js на клиенте

 import React from 'react'; import { useState } from 'react'; import Axios from 'axios'; import './App.css';  function App() {  const [userName, setUserName] = useState("");  const [password, setPassword] = useState("");   const authenticateLogin = () =gt; {  Axios.post("http://localhost:3001/login", {  userName: userName,  password: password   }).then((response) =gt; {  console.log(response);  });    }   return (  lt;div className="App"gt;  lt;div className="login"gt;  lt;h1gt;Loginlt;/h1gt;  lt;labelgt;Username:lt;/labelgt;  lt;input type="text" onChange={(event) =gt; { setUserName(event.target.value) }}/gt;  lt;labelgt;Password:lt;/labelgt;  lt;input type="password" onChange={(event) =gt; { setPassword(event.target.value) }}/gt;  lt;button onClick = {authenticateLogin}gt;Loginlt;/buttongt;  lt;/divgt;  lt;/divgt;  ); }  export default App;  

Ответ №1:

 const express = require('express'); const app = express(); const cors = require('cors');  app.use(cors()); // cors is a function, you have to call that function app.use(express.json());