javascript - 路由到 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。
解决方案
这是您做错的事情:
您两次使用相同的变量 ( 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)
}
})
}
希望它解决了你的问题。
推荐阅读
- multithreading - Tomcat / 使用 NIO 模式时处理连接
- api - 如何从 Firebase 实时数据库中检索/获取项目
- r - 如何为函数中的公式指定主观列
- c - 为什么这个代码的答案在每个数字上打印 3 次直到它是正确的?
- java - Appium 移动自动化视图无法识别活动
- c# - IEnumerable.Cast
在支持强制转换的类型上抛出 InvalidCastException - c# - Visual Studio 不再显示代码中的错误
- c# - 使用 Newtonsoft.Json。令牌名称为“['token_name']”时如何执行JObject.SelectToken?
- mysql - 将mysql查询映射到实体
- c++ - Linux 上的 C++:作为 systemd 服务运行时监听键盘输入