javascript - Angular.js 和 Node.js - 通过 Controller 将输入变量传递到 server.js

标签 javascript angularjs node.js routes mean-stack

目前正在学习 MEAN 堆栈,我正在摆弄它,但我有点迷失了。

我想要实现的是利用外部 API 自动填充有关最初键入的标签的输入字段。

route info

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

  1. 最终用户输入标签并按“获取数据”
  2. Controller 将 tag 的值(在我的 .ejs 文件中定义为 ng-model="object.tag") 传递到 getData 路由
  3. server.js 接受 tag 并将其传递到外部 API URL 中进行调用
  4. 外部 API 完成其任务,为我返回一个漂亮的 JSON 文件。
  5. Controller 会根据返回的 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();
});
  • 我的路由是否符合 Node 的预期工作方式?
  • 如何使用 Angular 将输入值传递到 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
})

希望这对你有用!!

关于javascript - Angular.js 和 Node.js - 通过 Controller 将输入变量传递到 server.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35746569/

相关文章:

node.js - require ('express' )() 在 NodeJS 中做什么

javascript - 如何将一些包含 [$index] 的字符串传递到我的指令中?

html - angularjs如何将表单数据放入json文件

node.js - npm WARN npm npm 不支持 Node.js v9.1.0

javascript - 如何一个接一个地渲染多个html文件?

javascript - 在 DOM 中呈现表格后,AngularJS Linkify 单元格与表格中的链接

javascript - 既然我无法观察到,一个简单的 JS 对象怎么可能包含虚假属性?

javascript - 使用 jQuery 基于窗口调整大小和方向的动态像素值

php - 使用 javascript 循环提交特定值

javascript - Disintegrate.js 和 htmlcanvas.min.js 似乎不起作用