节点js将JSON传递给ejs

时间:2016-11-18 14:17:40

标签: javascript json node.js ejs

我想从网址中获取json。我正在使用模块'request'这样做

var request = require('request');
require('body-parser');
var each = require('foreach');

var options = {
  url: '//Some url',
  headers: {
    'User-Agent': 'request'
  }
};

function callback(error, response, body) {
  if (!error && response.statusCode == 200) {
     var info = JSON.parse(body);
    // body.rgDescriptions.forEach(function(key, value){
    //  console.log(value.classid);
    // });

     each(info.rgDescriptions, function(item){
        console.log(item.name);
     });
  }
}

request(options, callback);

当我使用它的每个工作正常,但当我尝试每个它不。我个人想要做的是,把这个函数放在app.get中的app.get中,就像这样:

app.get('/account/:id', ensureAuthenticated, ensureID, function(req, res){
  var userItems = request('//URL', function (error, response, body) {
    if (!error && response.statusCode == 200) {

      var info = JSON.parse(body);
        res.render('account', { 
          user: req.user,
          items: info.rgDescriptions
        });
    }
  });
});

现在的问题是,当我转到EJS时,我希望每次都这样,但是没有成功。我想我尝试了一切,但是......

这是ejs文件

                <table>
                <% for(var i=0; i < items.length ; i++) { %>
                   <tr>
                     <td><%= items[i].name %></td>
                   </tr>
                <% } %>
                </table>

当我尝试

item.forEach(function(item){
 // No success either
});

0 个答案:

没有答案