我將數據發佈到Python API,並且API響應返回想要在控制器中使用的數據,並最終在與該視圖關聯的HTML部分中使用該數據。我能夠成功地獲取數據,因爲我正在記錄來自調用的response.data,但是當我從控制器調用該方法時,出現錯誤,指出無法讀取未定義的「then」屬性。從AngularJS獲取數據來自工廠的控制器中的HTTP post調用
function getCustomerGraphData(payload, config) {
var data = {
user_selection: JSON.stringify(payload),
index_info: JSON.stringify(config.index_info),
column_config: JSON.stringify(config.Results)
};
console.log("data", data);
$http({
url: 'URL',
method: "POST",
data: $.param(data),
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).then(function(response) {
var customer = response.data;
console.log("data", customer);
return customer;
});
}
服務
arisService.getCustomerGraphData()
.then(function(data){
$scope.overIndexData = data;
})
控制器
真棒!如果我有多個方法,我可以將q.defer聲明爲全局變量並在整個服務中使用它? –
如果您正在討論處理多重承諾我建議您查看$ q.all,您可以將其傳遞給承諾數組,並且它會返回一個承諾,當您通過承諾的所有承諾都會解決時承諾。 –