如何解决使用 express.js 和 node.js服务器端和 react.js客户端发布查询问题
我是一名初级开发人员,我在前端使用 ReactJS 时遇到了在 node.js、express.js 中进行的发布查询的问题。
在服务器文件夹中,我使用的是 node.js 和 express.js。 下面是服务器端 index.js 文件中的代码:
在客户端文件夹中,我使用的是 node.js 和 express.js。 下面是来自客户端的 App.js 文件中的代码:
我的服务器运行在 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 中创建的数据库有点迷茫。
在浏览器中是 localhost:3000
并且 localhost:3306 运行良好
如果您能提供帮助,在此先感谢您!
解决方法
我知道这是前一段时间问过的,但我想我会回答以防万一你仍然被卡住。
问题在于您使用的 mysql.createConnection()
旨在在查询完成后立即打开和关闭,而不是在您的应用的生命周期内保持打开状态。
对于持久连接,您需要使用 mysql.createPool()
,它专为与应用程序一样持久的连接而设计。或者,您可以在需要与数据库交互时打开连接,并在交互完成后关闭连接。
这里有一些链接:
createPool()
- 参数与 createConnection()
相同
connection.end()
- 接收一个函数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。