gpt4 book ai didi

jquery - 是否可以在服务工厂()中返回$http.get().success()中的数据?

转载 作者:行者123 更新时间:2023-12-01 01:45:13 25 4
gpt4 key购买 nike

我已经在 Angular js 中创建了联系人列表。在下面的示例中,我创建了服务工厂,因为我无法处理服务中的 $http.post().success() 方法。

angular.module('contactApp', ['ngRoute'])

.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/contactList', {
templateUrl: 'template/contactList.cfm',
controller: 'contList'
}).
when('/contactAddEdit', {
templateUrl: 'template/contactAddEdit.cfm',
controller: 'contactAddEdit'
}).
when('/contactAddEdit/:contactID', {
templateUrl: 'template/contactAddEdit.cfm',
controller: 'contactAddEdit'
}).
otherwise({
redirectTo: '/contactList'
});
}
])

.controller('contList', function($scope, studentSession) {

studentSession.getSessions().success(function(data, status) {

$scope.members = = queryToObject(data);

});
})

.factory('studentSession', function($http) {

return {

getSessions: function() {

return $http.get('template/dbSelect.cfm');

}

};

});

最佳答案

您需要使用 then() 而不是 success() 您要从工厂返回 promise :

studentSession.getSessions().then(function(data, status) {

$scope.members = = queryToObject(data);

}).catch(function (err) {

console.log(err);
});

如果您需要对 IE8 或 android mobile <4.1 等旧浏览器的更多支持,请改用此:

studentSession.getSessions().then(function(data, status) {

$scope.members = = queryToObject(data);

},function (err) {

console.log(err);
});

THEN如果您确实想从工厂返回 promise 成功,您将需要一个事件:

.controller('contList', function($scope, studentSession) {

studentSession.getSessions();

$scope.$on('session:retrievedSession', function (data) {

console.log('Session retrieved is: ', data.response);
});
})

.factory('studentSession', function($rootScope, $http) {

return {

getSessions: function() {

return $http.get('template/dbSelect.cfm').success(function (response) {

$rootScope.$broadcast('session:retrievedSession', {response:response});
});

}

};
});

关于jquery - 是否可以在服务工厂()中返回$http.get().success()中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27618389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com