在Express中处理POST和GET请求

在Express中处理POST和GET请求,express,Express,第一次在这里使用express 我的app.js文件中包含以下内容: const express=requireexpress; const mysql=requiremysql; const-app=express; const PORT=process.env.PORT | 8000; const connection=mysql.createConnection{ 主机:localhost, 用户:管理员, 密码:密码, 数据库:mydb, }; app.useexpress.static

第一次在这里使用express

我的app.js文件中包含以下内容:

const express=requireexpress; const mysql=requiremysql; const-app=express; const PORT=process.env.PORT | 8000; const connection=mysql.createConnection{ 主机:localhost, 用户:管理员, 密码:密码, 数据库:mydb, }; app.useexpress.static\uuuu dirname+/express; app.useexpress.urlencoded;//还尝试了extended:true和extended:false app.useexpress.json; //得到 app.get/getAllUserActivity,req,res=>{ const order=req.query.order | | id; const page=req.query.page | | 0; const limit=req.query.limit | | 100; connection.connecterr=>{ 如果犯了错误,就扔出错误; connection.query 按?限制?,?从用户订单中选择id、用户名、计数器?,?, [订单、页码、限制], 错误、结果、字段=>{ 如果犯了错误,就扔出错误; 结果; } ; }; }; //职位 app.post/updateUserActivity,req,res=>{ const userId=req.body.userId; const username=req.body.username; 常数计数器=请求主体计数器; connection.connecterr=>{ 如果犯了错误,就扔出错误; connection.query 在重复密钥上插入用户id、用户名、计数器值?,?更新计数器=计数器+?, [用户ID、用户名、计数器], 错误、结果、字段=>{ 如果犯了错误,就扔出错误; 结果; } ; }; }; 我的帖子请求的标题内容类型为:application/x-www-form-urlencoded

我面临的问题有两个方面:

GET请求每隔一次失败一次。第一次它返回预期的数据,但第二次我从应用程序收到不完整的响应-repeat。 我只能让POST或get请求工作,这取决于我如何设置中间件。我怎样才能在这里得到和邮寄? 老php用户在这里,试图弄明白Express。谢谢

如果错误抛出错误,则替换所有错误;将实际错误响应发送回客户端。您必须始终对每个传入请求发送某种形式的响应。令人遗憾的是,许多演示代码显示,如果出错,抛出错误;因为在异步回调中,这绝不是正确的代码


然后,尽管我不知道数据库的具体细节,但在使用数据库连接后,您需要释放/关闭它们,这样它们就不会泄漏。或者,您可以使用一组连接池,在执行查询后,这些连接会自动返回到池中。

请在请求处理程序中显示真实的代码,以便我们可以看到实际发生的情况。@jfriend00 alrighty-已添加。如果错误抛出错误,请全部替换;将实际错误响应发送回客户端。您必须始终对每个传入的请求发送某种形式的响应。我不知道您的数据库,但您是否应该在完成连接后释放连接?@jfriend00确实,这可能是上面1的问题。。。谢谢但是2呢?这就是我一直坚持了几个小时的地方…是的,演示代码很容易让人误解-你可能会认为这些都是理所当然的。。。谢谢你的帮助!