【发布时间】:2016-01-24 09:13:34
【问题描述】:
情况是这样的。
加载和调用所有适当的 javascript。我可以调试并单步执行,并查看正在从移动服务检索数据,并且 javascript 控制台中没有错误。
问题是 getTable 调用的“done()”被调用了两次,并且数据没有返回到调用该方法的模块函数,因此在页面中没有创建列表。
我确定我错过了一些简单的东西,但我似乎看不到它。
角度控制器
var appModule = angular.module('myApp');
appModule.controller('clientsController', [
"$scope", "$rootScope", "$http", "$window", "ClientsDataService", function ($scope, $rootScope, $http, $window, ClientsDataService) {
$rootScope.title = "Client List";
$scope.clients = ClientsDataService.getAllClients();
}
]);
角度模块函数
var clientModule = angular.module('myApp');
clientModule.factory("ClientsDataService", [
'$http', '$q', function ($http, $q) {
var _getAllClients = function () {
return getAllClients();
}
return { "getAllClients": _getAllClients };
}
]);
Azure 服务调用
function getAllClients() {
azureClient.getTable("Client")
.read()
.done(
function (results) {
var clientArray = new Array();
for (var i = 0; i < results.length; i++) {
clientArray.push({
"Name": results[i].ClientName,
"AcountExecutive": results[i].AccountExecutiveName,
"ClientPartner": results[i].ClientPartnerName,
"Revenue": results[i].RevenueInMillions,
"Industry": results[i].Industry,
"Notes": results[i].Notes,
"CompanyUrl": results[i].CompanyUrl,
"InfoUrl": results[i].InfoUrl,
"LogoUrl": results[i].LogoUrl,
"Lat": results[i].Latitude,
"Lng": results[i].Longitude
});
}
return JSON.stringify(clientArray);
},
function (err) {
console.log(err);
});
}
【问题讨论】:
标签: javascript jquery angularjs node.js azure