2016-05-29 13 views
0

Ich verwende {{#ach Zeilen}} Schleife in einer Ansicht, aber das Objekt-Array, das es durchläuft, rendert nicht. Das Objekt-Array wird angezeigt, wenn ich res.send (rows) verwende, sodass die Datenbank Ergebnisse zurückgibt. Wenn dieser Server auf der Cloud9-Plattform ausgeführt wird, wird die Ansicht mit der Tabelle mit den Objektattributen gerendert, aber wenn ich versuche, diesen Server auf meinem Amazon Web Server auszuführen, wird die Ansicht gerendert, aber die #Each-Schleife wird nicht gerendert. Beim Betrachten der Seitenquelle ist es so, als ob Zeilen nicht einmal empfangen worden wären. Aber wenn ich eine res.send (Zeilen) mache, wird das rows Objekt Array angezeigt. Ich würde wirklich jede Hilfe wirklich schätzen.Handles js kein rendering object array von mysql query zurückgegeben (in nodejs server)

// Hier ist der Code in meinem Server:

var express = require('express'); 
var mysql = require('./dbContentPool.js'); 
var bodyParser = require('body-parser'); 
var app = express(); 
var handlebars = require('express-handlebars').create({defaultLayout:'main'}); 
app.use(express.static('public')); 
app.engine('handlebars', handlebars.engine); 
app.set('view engine', 'handlebars'); 
app.set('port', 3000); 
app.use(express.static(__dirname + '/public')); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(bodyParser.json()); 
app.get('/Donors/business', function(req, res, next){ 
      mysql.pool.query('SELECT * FROM ' + 'business', function(err, rows, fields){ 

      if(err){ 

        next(err); 

        return; 

      } 

      res.render('Donors/business/index', rows); 

    }); 
}); 

// hier wird der Code aus meiner Sicht Geber/Business/index "genannt:

<h1>Donors</h1> 
    <div class="col-md-8"> 
    <table class="table table-striped table-hover"> 

    <thead> 

     <tr> 

      <th>Name 

      <th>Address 

      <th>City 

      <th>State 

      <th>Zip 

      <th>Specific Location</th> 

     </tr> 

    </thead> 

    <tbody> 

     {{#each rows}} 

      <tr> 

       <td>{{this.name}} 

       <td>{{this.street_address}} 

       <td>{{this.city}} 

       <td>{{this.state}} 

       <td>{{this.zip}} 

       <td>{{this.specific_location}} 

      </tr> 

     {{/each}} 

    </tbody> 

</table> 
</div> 
<div class="col-md-4"> 
<form role="form" action="/Donors/business" method="POST"> 

    <fieldset> 

     <legend>See Available Food From a Specific Donor:</legend> 

      <div class="form-group"> 

       <label for="Specific_donor">Pick a Specific Donor:</label> 

       <select class="form-control" name="business_id" id="business_id"> 

        <option>--Select Donor--</option> 

         {{#each businesses}} 

           <option value={{this.id}}>{{this.name}}</option> 

         {{/each}} 

       </select> 

      <input type="submit" id="entrySubmitABusiness" class="btn btn-primary"> 

    </fieldset> 

</form> 
</div> 

Antwort

1

Versuchen:

res.render('Donors/business/index', {rows: rows}); 
+0

Dies repariert es, vielen Dank! Bevor ich meine Frage gepostet habe, habe ich versucht: res.render ('Donors/business/index', {rows}); , aber ich habe einen Fehler erhalten: unerwartetes Token. Nochmals vielen Dank! – wilsonsk