Node.js app.getで引数を2つ受け取るやつ
★2019-12-19 これもasyncで書き直しました!
(関数をasyncって宣言すると、その関数内ではawaitってキャストした関数が
同期になるよ!ただしpromise返すやつだけ)
【サーバ側】
app.get( '/sql/get_qno/dbname/:dbname/userid/:userid/', async (req, res) => { const dbname = req.params.dbname; //データベース名 const userid = req.params.userid; //ユーザID //SQL文作成 const sql = 'select COALESCE(max("qno"), 0) as maxqno from ' + dbname + ' where "userid" = \'' + userid + '\''; try { const resq = await client.query(sql); res.json(resq.rows); } catch(err) { res.json(["ERROR", err.stack]); } });
【ブラウザ側】
async function getQNo() { try { const res = await fetch('./sql/get_qno/dbname/' + dbName + '/userid/' + userId); const data = await res.json(); QNo = data[0].maxqno; } catch(err) { res.json(["ERROR", err.stack]); } }