0
我寫了一個角的服務,從我的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,我打線的obj =數據之前。只有在數據填充後,我如何才能使代碼返回。
我已經嘗試把成功函數中return語句沒有任何的運氣。它只是返回一個未定義的對象。
您應該考慮使用'$ http'從AngularJS而不是jQuery的'$ .ajax'。這裏的答案是ajax是異步的,所以在完成之前你要返回'obj'。見http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call –
的可能的複製[如何返回從一個異步調用的響應?( http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) –
我已經改變了我的代碼來實現$ HTTP AngularJS方式仍然得到未定義回來,因爲它在達到承諾結果之前碰到了return語句。 –