首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将数据从jQuery.ajax()传递到角度控制器?

将数据从jQuery.ajax()传递到角度控制器?
EN

Stack Overflow用户
提问于 2015-10-13 20:41:57
回答 1查看 964关注 0票数 0

我有以下名为script.js的javascript文件,它有一个jQuery函数:

代码语言:javascript
代码运行次数:0
运行
复制
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)。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-13 21:11:15

通过使用角的$http,您可以有一个服务为您获取数据,您可以将其插入到任何需要访问数据的控制器、工厂、指令等中。

代码语言:javascript
代码运行次数:0
运行
复制
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.
  });
}]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33112231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档