gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 00:43:34 25 4
gpt4 key购买 nike

目前正在学习 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com