我使用Yo MeanJs生成器开始使用。我是MeanJs的初学者。看起来很复杂。

实际上,我的Meanjs应用程序需要从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富有成效的东西...感谢您对Advance的帮助!

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)

最佳答案

很高兴我得到了一个答案....我们需要使用一个名为request ..的插件才能在Modules ... 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 ...哎呀,我第一次回答了自己的问题!

关于javascript - 在导出功能MEANJS中编写Http请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28931511/

10-11 06:55