我有以下名为script.js
的javascript文件,它有一个jQuery函数:
function getData(a, b) {
var d = [];
while (a <= b)
{
$.ajax({
url: "someurl",
dataType: 'json',
success: function (data) {
d.push(data.rates);
},
error: function (err) {
console.log(err);
}
});
a+=1;
}
$(document).ajaxStop(function () {
console.log("AJAX STOP");
return d;
}); }
解释
我在with循环中填充数组d
,其中包含从服务器someurl
获得的一些信息。我想将这个数组传递给我的控制器MainController.js
。我该怎么做?我希望控制器中有一个属性,例如$scope.dataFromAjax,它必须等于来自ajax()的数组d
的最终形式。
(有点像$scope.dataFromAjax = d
)。
谢谢。
发布于 2015-10-13 13:11:15
通过使用角的$http,您可以有一个服务为您获取数据,您可以将其插入到任何需要访问数据的控制器、工厂、指令等中。
app.service('dataService', ['$http', function ($http) {
return {
getSomething: function () {
return $http.get('someurl');
},
getSomethingElse: function () {
return $http.get('someotherurl');
}
}
}]);
app.controller("yourController", ['$scope', 'dataService', function ($scope, dataService) {
dataService.getSomething().success(function(dataResults) {
$scope.data = dataResults; // This is available as soon as the promise (get) is resolved.
});
}]);
https://stackoverflow.com/questions/33112231
复制