2017-10-18 3 views
-1

ハンドルバーをテンプレートエンジンとして使用して、エクスプレスジェネレータを使用してWebアプリケーションを作成します。応答からオブジェクトの配列を表示すると、それが表示されます。しかし、私はビュー内の各ループに何も表示されません。オブジェクトの配列を持つハンドルバーを使用してテーブルを表示する方法

/******************************** 
model file ../controllers/books.js 
*********************************/ 
var request = require('request'); 

exports.list = function(req, res, next){ 

    request.get({ url: "https://jsonplaceholder.typicode.com/posts" },  function(error, response, body) { 
       if (!error && response.statusCode == 200) { 
        res.render('index', { title: 'speed Tracker', list: body });  
        } 
       }); 


}; 
    /*********************** 
route file 
************************/ 
var express = require('express'); 
var router = express.Router(); 

var books = require('../controllers/books'); 
/* GET home page. */ 
router.get('/', books.list); 

<!-- language: lang-html --> 

         <table id="datatable" class="table table-striped table-bordered"> 
          <thead> 
           <tr> 
            <th>ID</th> 
            <th>Album Id</th> 
            <th>title</th> 
            <th>url</th> 
            <th>image</th> 
           </tr> 
          </thead> 
          {{list}} 
          <tbody> 
           {{#each list}} 
           <tr> 
            <td>{{id}}</td> 
            <td>{{userId}}</td> 
            <td>{{title}}</td> 
            <td>{{body}}</td> 
            <td></td> 
           </tr> 
           {{/each}} 
          </tbody> 
         </table> 
json of list 

[ { "はuserId":1、 "ID":1、 "タイトル": "sunt AUT facere reprehenderit OPTIO excepturi occaecatiプロヴィrepellat"、 "ボディ" "quiaらsuscipit \ nsuscipit recusandae consequuntur expeditaら兼\ nreprehenderit molestiae architecto UT UT quas totam \ nnostrum rerum EST autem suntレムeveniet" }、 { "はuserId":1、 "ID":2、 "title": "qui est esse"、 "body": "エスト・リム・テンポール・イン・ザ・ビー・エイ・リトル・テンポール・イン・ザ・ビー・エイ・ドゥーアーズ・ノーケイ・デイヴィッド・ビア・エー・エイ・ドールズ・ネイケー・ノー・フォー・ブルー・デイヴィス・モリエイユ・ユー・レシエンシー・デ・ノイ・デビシスnulla " }、 {.....

上記のコードを追加しましたが、各ループには表示されません。

+0

各ループは、私は、この各ループ内このことなく両方の試みが、両方は、I **は、そのコードに{{#eachリスト}} **リストを用いる – Dhananjayan

+0

が動作していませんオブジェクトの配列です。私はテーブルを作る必要があります。 – Dhananjayan

+0

に失敗 – Dhananjayan

答えて

0

book.jsファイルのStringからObjectにリストを変換する必要があります。私は以下のコードを追加しました。オブジェクトの配列を

var request = require('request'); 

exports.list = function(req, res, next){ 

    request.get({ url: "https://jsonplaceholder.typicode.com/posts" },  function(error, response, body) { 
       if (!error && response.statusCode == 200) { 
        res.render('index', { title: 'speed Tracker', list: JSON.parse(body) });  // add JSON.parse to convert string to object :) 
        } 
       }); 


}; 
関連する問題