我写了一个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函数中而没有任何运气。它只返回一个未定义的对象。
答案 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;
}
)
}