Делаю запрос на сервер:
angular
.module('mainApp')
.controller('profileCtrl',profileCtrl);
function profileCtrl($http,$scope) {
$scope.getProfileData=function (userId) {
var promise = $http({
url: basePath+'/studentReg/getProfileData',
method: "POST",
data: $.param({id: userId}),
headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'}
}).then(function successCallback(response) {
console.log('inside');
console.log(response.data);
return response.data;
}, function errorCallback() {
return false;
});
return promise;
};
console.log('outside');
console.log($scope.getProfileData(userId));
}
В консоли выводится:
outside
d {$$state: Object}$$state: Object status: 1
->value: id: "56" firstName: "Во'вав" fidentity: "" state: "0"...
и
inside
Object {id: "56", firstName: "Во'вав", identity: "", state: "0"...}
Почему такая разница в формате вывода между response.data и promise ? Как правильно присвоить переменной результат запроса, чтобы можно было обращаться к элементам обьекта как-то так:$scope.getProfileData.id и т.д. В том варианте в котором выводит в примере, достучатся к value не смог
П.С.Сервер возвращает echo json_encode($model->attributes);