从服务返回数据而不返回正确的数据

时间:2017-01-31 20:54:59

标签: c# jquery angularjs

我写了一个Angular服务,从我的C#后端获取一些假数据。 C#后端正在使用ASMX文件进行处理。我有数据回来,一切都很好,然后我的数据永远不会填充。

我有这种感觉,这与从承诺中回来的数据传递有关。

服务:

app.service('fakeDataCenter', function ($http) {
    this.getFakeData = function ()
    {
        var obj = {
            phoneNumber: "",
            faxNumber: "",
            address: "Loading..",
            };
        $.ajax({
            type: "POST",
            url: "/Services/DataService.asmx/getFakeData",
            cache: false,
            contentType: "application/json; charset=utf-8",
            data: "{}",
            dataType: "json",
            success: function(data, status){
                obj = data;
            }
        });

        return obj;
    };});

我可以告诉我在返回obj = data之前点击了返回obj。如何在填充数据后才返回代码。

我已经尝试将return语句放在success函数中而没有任何运气。它只返回一个未定义的对象。

1 个答案:

答案 0 :(得分:1)

我建议您使用角度方法,因为您在应用中使用了角度。像这样更改您的服务方法:

request

然后在角度控制器中,你可以得到这样的返回数据:

this.getFakeData = function (){
   var obj = {
            phoneNumber: "",
            faxNumber: "",
            address: "Loading..",
            };
    return $http.post('/Services/DataService.asmx/getFakeData', obj).then(
          function (res){
             return res.data;
          },
          function(onErr){
             return onErr.data;
          }
    )
}