この記事では、node.js での Express の使用法をさらに深めていきます。主に、nodejs での get 値と post 値の取得とセッション検証を使用する方法を紹介します。値とセッションの検証を例の形で投稿します。具体的な操作手順と注意事項を参考にしていただければ幸いです。
getとpostで渡された値を取得する
getで渡された値をオブジェクトに入れる
req.query
postで渡された値を
req.body
メソッドに入れる取得方法は以下の通りです。 オブジェクトを取得します 内容は同じです。たとえば、ID の値が以前に渡された場合、nodejs は req.body.id によってそれを取得できます
エクスプレスセッション検証
最初のステップは、Cookie とセッションモジュールをインストールし、
を導入することです。var session = require('express-session'); var cookieParser = require('cookie-parser');
2番目の部分、ExpressはCookieとセッションを適用します
app.use(cookieParser()); app.use(session({ resave: true, // don't save session if unmodified saveUninitialized: false, // don't create session until something stored secret: 'admin', //密钥 name: 'testapp', //这里的name值得是cookie的name,默认cookie的name是:connect.sid cookie: { maxAge: 80000 } //设置maxAge是80000ms,即80s后session和相应的cookie失效过期 }));
3番目のステップ、リクエスト時にインターセプトして処理します
app.use(function(req, res, next) { if (!req.session.user) { if (req.url == "/login") { next(); //如果请求的地址是登录则通过,进行下一个请求 } else { res.redirect('/login');//跳转到登录页面 } } else if (req.session.user) { next();//如果已经登录,则可以进入 } });
ログインしていない場合、ルートは自動的にポイントされます/login ページに移動し、最後に最初のステップはルーティングで処理することです
app.get('/login', function(req, res) { res.render("login"); }); app.post('/login', function(req, res) { if (req.body) {//判断时候有传值 var user = { 'username': req.body.username//获取用户名并赋值,这里之前可以自己做判断 }; req.session.user = user;//赋值session,自动跳转页面 res.redirect('/admin'); } else { res.redirect('/login'); } }); app.get('/logout', function(req, res) {//做的登出页面 req.session.user = null; res.redirect('/login'); });
関連する推奨事項:
express に基づいた WebSocket を使用した Node.js の詳細な説明
Express.Router を使用した Node.js の詳細な説明
以上がNodejsでのExpressでのget値とpost値の取得とセッション検証の方法を例で説明しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。