繁体   English   中英

Node.js和MySQL-2个不相关的查询到同一页面

[英]Node.js and MySQL - 2 unrelated queries to the same page

我的问题是2分:

  1. 我有一个express.js文件,显示了一个表单。 该表单需要从数据库中提取2个不同的查询。 一个用于创建选择下拉列表,另一个用于创建复选框。 如何从node.js文件向同一页面发送2个(或更多)不相关的查询?

  2. 由于我正在使用

    app.post('/results',urlencodedParser,function(req, res) {

该页面被重定向到localhost:3000/results 然后git显示没有这样的页面(即使我的views文件夹中有一个名为results.ejs的页面。我在做什么错呢?

我无法提供更多信息,而无法回答您的第二个问题(不过,坦白地说,无论如何,这应该是一个单独的问题)。

至于第一个问题,有几种方法可以给猫咪蒙皮。 我自己,我决定基于重用。 创建select和checkbox组的列表将在其他地方使用还是仅在此页面上使用?

如果仅在此页面上,我可能会使用async库的parallel()函数或Promise.all来运行两个查询并以这种方式返回结果集。

如果要重用,我会将它们打包为中间件,然后将结果附加到请求或req.locals对象。

异步版本如下所示:

const async = require('async');

// later, in your handler

app.get('/results', function(req,res){
   async.parallel({
     checkboxes : checkboxQueryFn,
     selectList : selectListQueryFn
   }, (e, bothQueries) => {
      // if either query errored, you'll get an 'e' object here, otherwise bothQueries will be an object where bothQueries.checkboxes will have the results of that query and bothQueries.selectList will have the results of that one. 
   });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM