【问题标题】:Send JSON object to Hapijs Route将 JSON 对象发送到 Hapijs 路由
【发布时间】:2016-11-06 11:33:36
【问题描述】:

我有一个方法可以从数据库中获取查询结果,并将其中一个结果作为 URL 中的参数发送到我在 Hapi.js 中的一个路由。无论如何我可以将 JSON 对象发送到我的路线吗?

路线

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

【问题讨论】:

    标签: json node.js routes hapijs joi


    【解决方案1】:

    我找到了解决问题的方法。我在 MySQL 中使用另一个查询请求我需要的信息,将我的路由回复存储在查询的回调中。

    【讨论】:

      【解决方案2】:

      我不确定,如果正确理解您的问题,但您可能可以这样做,只需扩展 pre-handler 扩展点即可解决此问题。

      如果您使用pre-handler,您可以简单地查询并在请求属性中存储您需要的信息。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-01
        • 2019-07-04
        • 2015-07-07
        • 2014-07-08
        • 2021-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多