У меня есть полезная информация, которую я отправляю в API. Я вызываю метод, который вызывает API от моего контроллера, как так:AngularJS. Then of undefined
arisService.getVarStatData(
JSON.stringify($scope.payload),
JSON.stringify($scope.config.index_info),
field,
stat
)
.then(function (data) {
$scope.varStat = data;
console.log("var stat data", $scope.varStat);
});
В моей службе, так как поле является массивом, то у меня есть для цикла толкающего значения массива полезной нагрузки, а затем призывающее функция с полезной нагрузкой в качестве параметра:.
function getVarStatData(payload, index, field, stat) {
for (var i = 0; i < field.length; i++) {
if (field[i]) {
var varStatData = {
user_selection: payload,
index_info: index,
field: field[i],
statistic: stat
};
postStatData(varStatData);
}
}
}
function postStatData(varStatData){
var deferred = $q.defer();
$http({
url: 'API',
method: "POST",
data: $.param(varStatData),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function (response) {
var varStat = response.data;
console.log("variable stat response data", varStat);
deferred.resolve(varStat);
});
return deferred.promise;
}
Теперь я могу совершенно получить данные в моей службе, но в моем контроллере я получаю сообщение об ошибке «не может прочитать свойство .then неопределенных Изначально я не был не решая обещаний с использованием $ q, поэтому я сделал это и подумал, что это сделало бы работу, но не повезло. Любая помощь приветствуется!
Это действительно устранило ошибку «.then undefined», но мои данные возвращаются как «неопределенные» ... любые мысли ? Я снова проверил свои полезные данные и хорошо смотрю, когда он будет отправлен. Данные регистрируются, как ожидалось, в моем сервисе, но как только он попадает на мой контроллер, его неопределенный ... @ Brannon Heftel –
также, я записал обещание, которое возвращается, а данные в нем также не определены ... это в service –
Извините за задержку - вы все еще регистрируете переменную varStat? вы посмотрели на ответ или просто на ответ. data? –