【问题标题】:how to pass a value form angularjs to node [duplicate]如何将值从angularjs传递给节点[重复]
【发布时间】:2017-09-05 12:35:46
【问题描述】:

大家好,我在将值从角度传递到节点时遇到问题...我想在服务器上获取限制值并将其传递给限制

这是我的服务器:

app.get("/movies", function(req, res) {

var limit = req.query.limit; // i can't get this (variable is undefined)
console.log(limit);

MongoClient.connect(dbUrl, function(err, db) {
    if (err) {
        res.status(500);
        res.json({ error: true });

        return;
    }

    db.collection("movies").find({}, { limit: limit }).toArray(function(err, docs) {

        if (err) {
            res.status(500);
            res.json({ error: true });

            return;
        }

        res.json(docs);

        db.close();
    });

});

});

控制器

Ctrls.controller('movies', ['$scope', "$http", "$location", function($scope, $http, $location) {


    $scope.data = [];
    var request = $http.get('/movies', {
        limit: 2
    });
    request.success(function(data) {
        $scope.movies = data;
        console.log(data);

    });
    request.error(function(data) {
        console.log('Error: ' + data);
    });


}]);

我想在节点中获取值“限制”,我做错了什么? 在服务器变量未定义 (x2)

谢谢

【问题讨论】:

  • 检查到console.log(req);,如果你找到你的参数

标签: javascript angularjs node.js express


【解决方案1】:

改变这个:

var limit = req.query.limit; // i can't get this (variable is undefined)

到:

var limit = req.params.limit;

或:

var limit = req.body.limit;

这是因为默认情况下,Angular 在request-payload 中发送数据,而不是在form-data 中。

【讨论】:

  • 好的,现在它的工作我改变这个:控制器:var request = $http.post('/movies', { data: { limit: 3 } });服务器:var limit = req.body.data.limit;
  • @MarcinJendruchniewicz 如果你 POST 则使用 request.body.X,如果 GET 则使用 request.params.X
猜你喜欢
  • 2015-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 1970-01-01
  • 2016-07-06
相关资源
最近更新 更多