如何在角度js中使用$ http GET方法发送数据?

时间:2016-04-05 07:27:27

标签: angularjs node.js express

我需要将来自angularjs控制器的dataId作为数据发送到nodejs。我用Google搜索了,但我没有得到解决方案,有人请帮助我。

控制器文件:

function ManageProductController($http, $scope, $mdDialog, $document, $location, $localStorage)
{
     var vm = this;
     vm.email = $localStorage.email;

     $http({
            url: 'http://localhost:7200/api/manage-product',
            method: 'GET',
            data: {email:vm.email}
        }).success(function(res) {
            //$scope.productlist = res;
            //console.log(res.result);
            vm.result=res.result;

            //vm.docs=res.docs;
        }, function(error) {
            console.log(error);
            alert('here');
        });
}

在上面的代码中,我发送了email作为数据但是在node.js文件中我没有收到请求。

节点文件:

 router.get('/manage-product', function(req, res){
    //console.log('I received get request');

    console.log(req);
    var findProducts = function(db, callback) {
       var cursor =db.collection('proInfo').find().toArray(function(err, docs){
          if(err){
             callback(new Error("Some problem"));
           }else{
            callback(null,docs);
        } 
         });

    };
}

我在这里放了console.log(req);,但在正文部分我只是body{}这样。

2 个答案:

答案 0 :(得分:4)

使用GET,您可以使用params,在服务器上,您可以在req.query中获取该值,请参阅以下示例:

 $http({
            url: 'http://localhost:7200/api/manage-product',
            method: 'GET',
            params: {email:vm.email} //at server it will be req.query.email
        }).success(function(res) {

             //access returned res here

        }, function(error) {
            //handle error here
        });

使用POST,您可以使用data,在服务器上,您可以在req.body中获取该值,请参阅以下示例:

 $http({
            url: 'http://localhost:7200/api/manage-product',
            method: 'GET',
            data: {email:vm.email} //at server it will be req.body.email
        }).success(function(res) {

             //access returned res here

        }, function(error) {
            //handle error here
        });

答案 1 :(得分:0)

使用逗号

发送此网址下方的数据
url: 'http://localhost:7200/api/manage-product',
method: 'GET',
params: {emailData:yourEmaildata}