0

您好,我在 Express Framework 中工作,我正在使用把手来渲染我的 mysql 表中的数据。在尝试使用下面的代码呈现数据时,而不是呈现值它显示 [object object]。我在下面发布了我的代码。

index.js:

 var query = connection.query('SELECT * FROM requestor_auth WHERE question_id = ? AND answer = ? AND app_key = ?  LIMIT 1', [data.qid, data.ansvalue, data.appid], function(err,rows)
    {

        if(err) {
            console.log("Error Selecting : %s ",err );
            res.redirect('/');
        } else {
            res.render('requestform',{page_title:"Edit Customers - Node.js",data:rows});
          }

请求表.hbs:

    <div class="addressto">
              <h4>To,</h4>
                <br>
                  <span style="font-size:18px;margin-left:10px;">The Collector Of</span>
                  <input type="text" value="{{data}}" class="line" class="text-line" style="margin-left:35px;"><br>

    </div>

表单输入中的值显示为 [object object]。我尝试作为 data.key_value 呈现数据,但它没有显示值。请给我一个解决方案。谢谢你。

4

2 回答 2

1

因为Mysql响应的结果是数组所以应该是:

 var query = connection.query('SELECT * FROM requestor_auth WHERE question_id = ? AND answer = ? AND app_key = ?  LIMIT 1', [data.qid, data.ansvalue, data.appid], function(err,rows) {

        if(err) {
            console.log("Error Selecting : %s ",err );
            res.redirect('/');
        } else {
            res.render('requestform',{page_title:"Edit Customers - Node.js",data:rows[0]});
          }

如果有同样的错误,你应该console.log()检查结果。

于 2017-07-25T13:47:08.870 回答
0

回调函数中的 rows 参数是通过选择查询始终是一个对象数组。使用车把,您应该能够执行以下操作:

<div class="addressto">
    <h4>To,</h4>
    <br>
    <span style="font-size:18px;margin-left:10px;">The Collector Of</span>
    <input type="text" value="{{data[0].answer}}" class="line text-line" style="margin-left:35px;">
    <br>
</div>

多个类名也可以在一个类属性中。

于 2017-07-25T12:58:29.550 回答