在导出函数MEANJS中编写Http请求

时间:2015-03-08 20:28:07

标签: javascript node.js meanjs

我使用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)

1 个答案:

答案 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我第一次回答了我自己的问题!!!