2016-07-04 20 views
0

Ich habe eine Methode, die Abfrageergebnisse aus der Datenbank abruft und eines der Ergebnisse als Parameter in der URL an eine meiner Routen in Hapi.js sendet. Kann ich trotzdem ein JSON-Objekt auf meine Route schicken?JSON-Objekt an Hapijs Route senden

Strecke

{ 
    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}); 
    } 
    } 

Methode/Abfrage

/** 
    * 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'); 
     } 
    }); 
    }, 

Antwort

0

Ich habe eine Abhilfe zu meinem Problem gefunden. Ich beantrage die Informationen, die ich benötige, indem ich eine andere Abfrage in MySQL verwende, auf die meine Routen im Callback der Abfrage antworten.

0

Ich bin mir nicht sicher, wenn Sie Ihre Frage richtig verstehen, aber wahrscheinlich können Sie dies tun, erweitern Sie einfach einen pre-handler Erweiterungspunkt, um diesen Fall zu lösen.

Wenn Sie pre-handler verwenden, können Sie einfach die benötigten Informationen abfragen und in einer Anforderungseigenschaft speichern.

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