Javascript 无法读取属性';发送';未定义的
我试图从外部脚本向路由器发送数据,它返回错误Javascript 无法读取属性';发送';未定义的,javascript,node.js,express,Javascript,Node.js,Express,我试图从外部脚本向路由器发送数据,它返回错误TypeError:cannotread未定义的属性'send' 这是密码 app.js var Cake = require('./modules/cake'); router.get('/cakes', function(req, res) { Cake.getCake(); }) module.exports = { getCake: function (req, res) { request({ url: "ht
TypeError:cannotread未定义的属性'send'
这是密码
app.js
var Cake = require('./modules/cake');
router.get('/cakes', function(req, res) {
Cake.getCake();
})
module.exports = {
getCake: function (req, res) {
request({
url: "http://get.cakes/json",
json: true
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
res.send(body);
}
});
}
};
cake.js
var Cake = require('./modules/cake');
router.get('/cakes', function(req, res) {
Cake.getCake();
})
module.exports = {
getCake: function (req, res) {
request({
url: "http://get.cakes/json",
json: true
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
res.send(body);
}
});
}
};
注意
http://get.cake/
不是一个真正的网站。这与问题无关。您没有将req
和res
传递到getCake
router.get('/cakes', function(req, res) {
Cake.getCake(); // <-- you're passing nothing here so `res` is undefined within `getCake` and so you're calling `undefined.send()`
})
所以我应该在
getCake:function()
中添加req,res?不确定您的意思,您已经这样做了getCake
定义为getCake:function(req,res){…}
忽略最后一条注释,谢谢你,它成功了!冷却15分钟后,我将接受您的回答。:)