无法连接到 NodeJS Express 服务器
Posted
技术标签:
【中文标题】无法连接到 NodeJS Express 服务器【英文标题】:Can't connect to NodeJS Express Server 【发布时间】:2022-01-12 23:29:33 【问题描述】:我无法连接到我的 Express 服务器。我正在尝试使用 Axios 从我的前端进行连接,但它从未到达端点。此外,当我尝试直接从浏览器连接时,它只是旋转。当我启动服务器时,我确实看到了来自监听功能的控制台日志消息,所以它似乎正在运行。但是 Axios.post 永远不会到达他的 /login 路由。
这是我在服务器上的 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) =>
const userName = req.body.userName;
const password = req.body.password;
db.query("SELECT * from user where username = ? and password = ?", [userName, password], (err, result) =>
if(err)
res.send(err: err);
if (result)
res.send(result);
else
res.send(message: "Username or password is incorrect");
);
);
app.listen(3001, () =>
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 = () =>
Axios.post("http://localhost:3001/login",
userName: userName,
password: password
).then((response) =>
console.log(response);
);
return (
<div className="App">
<div className="login">
<h1>Login</h1>
<label>Username:</label>
<input type="text" onChange=(event) => setUserName(event.target.value) />
<label>Password:</label>
<input type="password" onChange=(event) => setPassword(event.target.value) />
<button onClick = authenticateLogin>Login</button>
</div>
</div>
);
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());
【讨论】:
以上是关于无法连接到 NodeJS Express 服务器的主要内容,如果未能解决你的问题,请参考以下文章
连接到 websockets NodeJS Express 服务器时出错
无法将 Express.js 服务器连接到 Angular 前端