#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());