使用 express.js 和 node.js服务器端和 react.js客户端发布查询问题

问题描述

我是一名初级开发人员,我在前端使用 ReactJS 时遇到了在 node.js、express.js 中进行的发布查询的问题。

我有两个文件夹: 客户端和服务器

在服务器文件夹中,我使用的是 node.js 和 express.js。 下面是服务器端 index.js 文件中的代码:

enter image description here

enter image description here

在客户端文件夹中,我使用的是 node.js 和 express.js。 下面是来自客户端的 App.js 文件中的代码:

enter image description here

我的服务器运行在 3306 端口,代码正常,客户端作为服务器端。

我遇到的问题是数据库。 我在 sequel pro «employeeSystem » 中创建了一个数据库,其中包含一个表 «employee »。

而且我无法在表中插入值。

错误信息 1:

错误:连接丢失:服务器关闭了连接。 在 Protocol.end (/Users/ana/Desktop/crud-tutorial/server/node_modules/mysql/lib/protocol/Protocol.js:112:13)

错误信息 2: { 致命的:真的, 代码:'PROTOCOL_CONNECTION_LOST' } 错误:致命错误后无法入队查询。

我对 MySQL 和我在 Sequel Pro 中创建的数据库有点迷茫。

enter image description here

在浏览器中是 localhost:3000

enter image description here

并且 localhost:3306 运行良好

enter image description here

如果您能提供帮助,在此先感谢您!

解决方法

我知道这是前一段时间问过的,但我想我会回答以防万一你仍然被卡住。

问题在于您使用的 mysql.createConnection() 旨在在查询完成后立即打开和关闭,而不是在您的应用的生命周期内保持打开状态。

对于持久连接,您需要使用 mysql.createPool(),它专为与应用程序一样持久的连接而设计。或者,您可以在需要与数据库交互时打开连接,并在交互完成后关闭连接。

这里有一些链接:

createPool() - 参数与 createConnection()
相同 connection.end() - 接收一个函数

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...