2017-01-05 56 views
0

動態JSON我有一個簡單的程序的NodeJS,在那裏我使用MongoDB的貓鼬檢索數據,並希望將其顯示爲用玉的表。這裏是我的代碼:的NodeJS:玉表 - 從控制器

服務器端代碼

router.get('/', function(req, res, next) { 

    //Query the user table 
    user.find(function(err, result){ 
     res.render('index',{users: JSON.stringify(result)}); 
    }); 
}); 

玉代碼

div 
    form(action='/',method='post') 
    div(data-role='fieldcontain') 
     fieldset(data-role='controlgroup') 
     label(for='name') User Name 
      input(id='name',type='text',value='',placeholder='Type your username here',name='name') 
    div(data-role='fieldcontain') 
     fieldset(data-type='vertical', data-role='controlgroup')           
     label(for='fname') First Name 
      input(id='fname',type='text',value='',placeholder='Type your first name here',name='fname') 
    div(data-role='fieldcontain') 
     fieldset(data-type='vertical', data-role='controlgroup')           
     label(for='lname') Last Name 
      input(id='lname',type='text',value='',placeholder='Type your last name here',name='lname') 
    div(data-role='fieldcontain') 
     input(type='submit',value='Create Profile',data-transition='fade', data-theme='c') 
- var userlist = {users} 
div 
table 
    thead 
    tr: th Users 
    tbody 
    each user in userlist 
     tr 
     td=user 

而且我模式看起來是這樣的:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var user = new Schema({ 
    username: String, 
    firstname: String, 
    lastname: String 
}); 

module.exports = mongoose.model('user', user); 

問題在於,從路由到玉的消息不被玉讀取爲JSON。我嘗試打印#{用戶}並打印完整結果。但是,在每個循環中,它無法分離出兩條記錄。

我看看問題:

Jade static anchor link

Jade iterating an array

HTML Table in Jade

不知怎的,我覺得該消息未收到爲JSON,因此這個問題。請你幫忙嗎?

+0

這裏需要使用'JSON.stringify(result)'這裏 –

回答

1

我試過你的代碼沒有JSON.Stringify其運行正常。

假設您在數據庫中有用戶記錄。

router.get('/', function(req, res, next) { 

    User.find(function(err,result){ 

    console.log(result); 
    res.render('index', { title: 'Express' , users: result }); 
    }); 
}); 

這裏是index.jade

extends layout 

block content 
h1= title 
p Welcome to #{title} 
-var userlist = users 
div 
    table.table.table-hover 
    thead 
     tr: th Users 
    tbody 
     each user in users 
     tr 
      td=user.firstname 
      td=user.lastname 
      td=user.username 

的代碼,當我開始我的服務器,並擊中了索引頁,我得到以下結果。

enter image description here

但是當我JSON.stringyfy做同樣的事情()沒有到這裏來顯示,但數據有什麼。

希望它有幫助!祝你好運:)