2016-07-04 5 views
0

データベースからクエリ結果を取得し、その結果の1つをURLのパラメータとしてHapi.jsの自分のルートの1つに送信する方法がありますとにかく私のルートにJSONオブジェクトを送ることができますか?私は私の問題の回避策を見つけたJSONオブジェクトをHapijsルートに送信

ルート

{ 
    method: 'GET', 
    path: '/Account/{Tag}', 
     config: { 
      validate: { 
       query: { 
        tag: Joi.string() 
       } 
      } 
     }, 
    handler: function(request, reply) { 
      var tag = encodeURIComponent(request.params.Tag); 
      reply.view('Account/index', {tag: tag}); 
    } 
    } 

方法/クエリ

/** 
    * Check if Account exists in database, then login 
    * @param {String} request.query.email 
    * @param {String} request.query.password 
    */ 
    login: function(request, reply) { 
    connection.query('SELECT email AS email, tag AS tag FROM users WHERE email = ? AND password = ?', [request.query.email, sha256(request.query.password)], function(error, results, fields) { 
     if (results[0]) { 
     //reply.(results[0]).created('/Account/' + results[0].tag); 
     reply.redirect('/Account/' + results[0].tag); 
     } else { 
     reply.redirect('/Error'); 
     } 
    }); 
    }, 

答えて

0

。私はMySQLの別のクエリを使用して必要な情報を要求し、店舗はクエリのコールバック内に返信します。

0

あなたの質問を正しく理解しているかどうかわかりませんが、これを行うには、pre-handler拡張ポイントを拡張してこのケースを解決してください。

pre-handlerを使用している場合は、必要な情報をリクエストプロパティに照会して保存するだけで済みます。

http://hapijs.com/api#request-lifecycle

関連する問題