AngularJS - 如何将数据传递给控制器

时间:2015-03-06 14:41:34

标签: javascript ajax angularjs

我很难将数据传递给控制器​​。我的场景是我有一个获取json对象的函数,我需要将该对象传递给执行其余工作的控制器。以下是我正在使用的内容:

在加载DOM之前获取数据并将其保存在Data变量中。

    $.ajax({
    url: "/_api/web/lists/getbytitle('Consultant%20Profile')/items?$filter=ID%20eq%20"+curItemId,
    type: "GET",
    headers: {"Accept": "application/json;odata=verbose"},
    success: function(data){
        Data = data.d.results; //global variable that I want to pass.
        console.log(Data);

    },
    error: function(data){
        console.log("something is not right with - ", data)
    }   
   });

这是我想将Data传递给。

的控制器
var app = angular.module("contactApp",[]);
app.value('listData', Data);
app.controller('ContactController',['listData','$scope','$http',function(listData,$scope,$http){
        console.log(listData);
        //Do something here...  
});

我正在尝试使用value(),但如果我传入除字符串以外的任何内容,则会收到错误。因此,如果Data = "Sometext"它将控制该文本,但如果它是一个对象则不起作用。不知道我做错了什么,但是有更好的办法吗?

1 个答案:

答案 0 :(得分:1)

因为Rafael提到尝试使用Angular的$ http服务

https://docs.angularjs.org/api/ng/service/$http