2016-10-11 12 views
0

私の質問は2区分けです:のNode.jsとMySQL - 同じページに2つの無関係なクエリが

  1. 私はexpress.jsファイルを示しているフォームがあります。フォームは、dbから2つの異なるクエリを引き出す必要があります。 1つはドロップダウンリストを作成し、もう1つはチェックボックスを作成するためのものです。私のnode.jsファイルから2つ(またはそれ以上)無関係なクエリを同じページに送信するにはどうすればよいですか?

  2. 私は、ページがlocalhost:3000/resultsにリダイレクトされ

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

を使用していますので。そして、私のviewsフォルダにresults.ejsというページがありますが、間違っていますか?

+0

非同期バージョンは、次のようになります。 – Paul

+0

スタックオーバーフローのWebサイトでは、コードをたくさん書かなければならないと警告しました。私は質問が捨てられるのではないかと恐れていた – user3187759

+0

幸せな媒体がなければなりません。 – Paul

答えて

0

私はあなたの2番目の質問に答えることはできません。フランクそれはどんな場合でも別の質問でなければなりません)。

最初の質問については、その猫をスキンするいくつかの方法があります。自分自身、再利用に基づいて決定します。選択リストとチェックボックスグループを作成するリスト

このページだけの場合は、asyncライブラリのparallel()機能またはのようなものを使用している可能性があります。を実行して両方のクエリを実行し、そのように結果セットを返します。

再利用する場合は、ミドルウェアとしてパッケージ化し、その結果をリクエストまたは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. 
    }); 
}); 
関連する問題