【发布时间】:2017-01-21 14:37:09
【问题描述】:
我的应用程序由前端(angular js)和后端(nodejs)组成。我在一个列表中有 10 个 id,我想迭代这些列表,每次迭代需要将 id 传递给服务器(节点 js)并将数据返回到前端。我可以从控制台日志中看到角度代码正在发出所有 10 次调用,但节点 js 服务器代码只处理第一个请求。有什么解决方案。我是 Node Js 的初学者。
前端 Angular js 代码:
var getRMPDetails = function()
{
var inputJson;
for (var i = 0; i < $rootScope.rmps.list.length; i++) {
inputJson = {"input": { "rmp-uuid" : $rootScope.rmps.list[i]['id']}};
rmpInventoryService.getRMPDetails(inputJson, function(data){
console.log(data);
});
}
}
above controller code calls below service method
ris.getRMPDetails= function(input, successCbk){
var uri = CONST.API_BASE + '/rpdDetails';
PromiseHelper.postData(uri, input).then(function(data) {
successCbk(data);
});
};
节点js服务器代码:
Ctrl.prototype.getRMPDetails = function ($done, $input, rmpService, $logger) {
var topology = {};
var input = $input.body;
console.log('method called'); =>> this is called only first RMP ID
rmpService.getRmpDetailsFromController(input, function(data){
$done({"rmps" : data});
});
};
rmpService.getRmpDetailsFromController => it is a custom service in Nodejs server
【问题讨论】:
-
第一步:确定 angular 是否实际发送的比第一个多。如果不是,那么您的服务器端代码是无关紧要的,您需要查看您的循环。
-
是的,Angular 调用了该服务 10 次。
-
我有点困惑。你有角度代码,那是调用
getRMPDetails方法,这显然是一个节点方法?这是没有意义的。一个在服务器上运行,另一个在客户端上运行....
标签: javascript angularjs node.js node-modules