2017-07-25 65 views
0

您好我正在使用Express框架,我使用句柄来从我的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}); 
      } 

requestform.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> 

显示为[对象对象]的形式输入值。我试图data.key_value呈现数据,但它不显示值。 请给我一个解决方案。谢谢。

回答

0

因为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()你的结果来检查值。

+0

很好,@ Burdy数据显示在窗体中。谢谢 –

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> 

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

+0

嗨德克,我已经试过你的代码,但它抛出解析错误。期待ID,STRING,BOOLEAN等 –