如何将值从angularjs传递给节点[重复]

Posted

技术标签:

【中文标题】如何将值从angularjs传递给节点[重复]【英文标题】:how to pass a value form angularjs to node [duplicate] 【发布时间】: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);,如果你找到你的参数 【参考方案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

以上是关于如何将值从angularjs传递给节点[重复]的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS - 将值传递给组件

将值从 Django 视图传递到 AngularJS 插入的模板

如何将值从反应本机应用程序传递到节点 js 后端

如何将值从javascript变量传递给剃刀变量?

Java:如何将值从类/bean传递给servlet

如何将值从组件传递给道具并设置状态