我使用Yo MeanJs生成器开始。我是MeanJs的初学者。看起来很复杂。
实际上我的Meanjs App需要从http请求中获取数据然而iam查询LocalDB如下:
exports.list = function(req, res) {
Article.find().sort('-created').populate('user', 'displayName').exec(function(err, articles) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(articles);
}
});
};
我使用了Http请求,如下面的代码提出错误...我可以说代码是疯狂的代码但是请给我一些东西让Http富有成效...感谢提前帮助!!! *
var http = require('http');
exports.list = function(req, res) {
http.get('http://localhost:3030/articles').success(function(err, articles) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(articles);
}
});
};
引发上述错误:
TypeError: Object #<ClientRequest> has no method 'success'
at exports.list (C:\Mean Workspace\prjts\marketplace-api-meanjs\app\controllers\articles.server.controller.js:76:49)
at Layer.handle [as handle_request] (C:\Mean Workspace\prjts\marketplace-api-meanjs\node_modules\express\lib\router\layer.js:82:5)
at next (C:\Mean Workspace\prjts\marketplace-api-meanjs\node_modules\express\lib\router\route.js:100:13)
答案 0 :(得分:2)
很高兴我得到了一个答案......我们需要使用一个名为request的插件来请求模块... Good Plugin。
参考以下链接: - https://www.npmjs.com/package/request
https://www.npmjs.com/package/request-json
var request = require('request');
exports.list = function(req, res) {
request.get(
'http://localhost:3030/menus',
function (error, response, body) {
if (!error && response.statusCode === 200) {
//console.log(body);
var obj = JSON.parse(body); //changing format to exact Json Obj
res.json(obj);
}
}
);
};
现在它将Json作为字符串投掷...使用request-json获取所需的Json ... Hooray我第一次回答了我自己的问题!!!