首页 > 解决方案 > 路由到 Node.js 请求收到的视图

问题描述

控制器代码:

bina: function(req, res) {
  var request = require('request');

  request({
    url: 'http://localhost:3000/bina/',
    method: 'GET',
  }, function(err, res, body) {
    if (err) {
      console.log(err);
    } else {
      var data = JSON.parse(res.body);
      console.log(data);
      res.render(data)
    }
  })
} 

请求附带的数据看不到res.view或之类的任何函数res.render

错误输出:

res.render(data)
           ^
TypeError: res.render is not a function

笔记:

我可以console.log(data)通过网络服务查看数据。我使用 Sail.js。

标签: javascriptnode.jsajaxnpm

解决方案


这是您做错的事情:

您两次使用相同的变量 ( res ) 名称。在 res.render 中,它采用最近范围内的那个。我已将res => 重命名为响应,现在它应该可以工作了。

bina: function(req, res) {
    var request = require('request');

    request({
        url: 'http://localhost:3000/bina/',
        method: 'GET',

    }, function (err, response, body) { // Changed the variable name
            if (err) {

                console.log(err);

            }
            else {
                var data = JSON.parse(response.body);
                console.log(data);
                res.render(data)

            }
        })
}

希望它解决了你的问题。


推荐阅读