Angular.js和Node.js – 通过控制器将inputvariables传递给server.js

现在刚刚学习了MEAN栈,我正在摆弄它,但我有点迷路。

我想实现的是利用一个外部的API来自动填充关于最初input的标签的input字段。

路线信息

所以问题是,如何将foo的值一直传递给server.js以进行调用?

  1. 最终用户input一个tag并按下“获取数据”
  2. 控制器将tag的值(在我的.ejs文件中定义为ng-model="object.tag"传递给getData路由
  3. server.js获取tag并将其传递到外部API URL中进行调用
  4. 外部API做它的事情,为我返回一个漂亮和漂亮的JSON文件。
  5. 控制器自动填充尽可能多的表单字段,因为它可以从返回的JSON。

这里有一些代码位,所以你可以理解我有更多的结构:

–index.ejs–

 <input type="text" ng-model="object.tag" /> <button ng-click="grabFooInfo()">Get Data</button> 

–controller.js–

 $scope.grabFooInfo = function(){ $http.get('/getData').success(function(res){ // Will do stuff here after data comes back }); }; 

–server.js–

 app.get('/getData', function (req, res) { var options = { host: 'my.api.im.calling.com, path: '/v1/fooApi/' + // #Need foo here // headers: { accept: "application/json" }, method: 'GET' }; var req = https.request(options, function (response) { var fooData = ''; response.on('data', function (data) { fooData += data; }); response.on('end', function () { res.send(fooData); }); }); req.on('error', function (e) { console.log('problem with request: ' + e.message); }); req.end(); }); 
  • 我正在做我的路由正确的节点是如何工作的?
  • 如何使用Angular将input值传递给server.js此内部函数?

在客户端, HTML

 <input type="text" ng-model="object.tag" /> <button ng-click="grabFooInfo(object)">Get Data</button> 

JS

  $scope.grabFooInfo = function(object){ $http({ url:'/getData', method: "GET", params: object }); }); 

在服务器端,

 app.get('/getData', function (req, res) { var data = req.params.data; // it contains the value foo }) 

希望这对你的作品!