如何从AngularJS服务向NodeJS控制器发送变量?

时间:2017-04-04 21:59:53

标签: javascript angularjs node.js

我有一个名为sensorReadingsAPI的AngularJS服务,它具有get的以下功能:

var _countSensorReadingsFilter = function () {
  return $http.get(config.baseUrl + "/sensorReading/countFilter").then(function (data,status) {
    sensorReadingCountFilter = data.data;
    return Number(sensorReadingCountFilter);
  }).catch(function() {});
};

/countFilter在NodeJS控制器中定义:

module.exports = {
  countFilter: function (req, res) {
    return res.sensorReadingCountFilter();
  }
};

sensorReadingCountFilter如下:

module.exports = function sensorReadingCountFilter(statusCode){

  var req = this.req;
  var res = this.res;

  SensorReading.count({deviceNum:'MBA002'}).exec(function countCB(error, found) {
    return res.view({val: found});
  });
};

现在,计数是静态的(写在哪里{deviceNum:'MBA002'})。我需要一种方法来使这个值成为dinamic,使用变量,最好是从AngularJS控制器发送。我有几个设备,可以添加更多的portential,并且不想为每个设备创建一个/countFilter模块。

换句话说,一种将变量从AngularJS服务发送到NodeJS控制器的方法。在寻找方法时,我几乎找不到任何东西。

清除:所有这些都返回所选设备的读数,config.baseUrl是本地机器和端口。

1 个答案:

答案 0 :(得分:1)

您可以在$http.get('url-here?param1=1,param2=2')中使用网址参数,然后可以在服务器端req的{​​{1}}对象中访问这些参数。

您还可以在$ http:

的配置对象中指定params
req.query.param1