Angularjs 执行get请求时出错
我正在尝试执行一个Angularjs 执行get请求时出错,angularjs,node.js,Angularjs,Node.js,我正在尝试执行一个get请求,在post请求中一切正常,我可以看到在post请求中,我所做的一切都已保存,一旦我刷新页面,我将在控制台中打印post请求保存的项目,但这些项目不会随get返回 这里是一切开始的地方,我这里有一个项目列表,可以选择选中或取消选中列表中的项目 <ion-item ng-repeat="sport in sports" ng-click="toggleSportSelection(sport)"> {{:: sport.name}} </ion
get
请求,在post
请求中一切正常,我可以看到在post
请求中,我所做的一切都已保存,一旦我刷新页面,我将在控制台中打印post请求保存的项目,但这些项目不会随get
返回
这里是一切开始的地方,我这里有一个项目列表,可以选择选中或取消选中列表中的项目
<ion-item ng-repeat="sport in sports" ng-click="toggleSportSelection(sport)">
{{:: sport.name}}
</ion-item>
这是我在控制器里的东西
.controller('SportsController', function($scope, SportsFactory) {
SportsFactory.getSportChecked(customer).then(function(sportChecked) {
_.each(sports, function(sport) {
var sportIds = _.pluck(sport, 'id'),
intersectedSports = _.intersection(sport.id, sportChecked),
checkedSportObjects = _.filter(sport, function(sportObj) {
return _.includes(intersectedSports, sportObj);
});
_.each(checkedSportObjects, function(sport) {
$scope.sports.push(sport);
});
});
}, function(err) {
console.log(err);
});
$scope.toggleSportSelection = function(sport) {
var params = {};
params.user = $scope.customer.customer;
params.sport = sport.id;
sport.checked = !sport.checked;
SportsFactory.setSportChecked(params);
};
// this is what puts the sports on checked = true
if (sports.length) {
$scope.sports = _.map(sports, function(sport) {
sport.checked = true;
return sport;
});
}
这是服务/工厂
.factory('SportsFactory', function($http, $q, AuthFactory,
LocalForageFactory, CONSTANT_VARS) {
return {
getSportChecked: function(customer) {
var defer = $q.defer(),
user,
rejection = function(err) {
console.log(err);
defer.reject(err);
};
LocalForageFactory.retrieve(CONSTANT_VARS.LOCALFORAGE_SPORTS_CHECKED)
.then(function(sportChecked) {
user = customer.customer;
if (!_.isNull(sportChecked)) {
defer.resolve(sportChecked);
}else {
$http.get(CONSTANT_VARS.BACKEND_URL + '/sports/getChecked/' + user)
.success(function(sportChecked) {
LocalForageFactory.set(CONSTANT_VARS.LOCALFORAGE_SPORTS_CHECKED, sportChecked);
defer.resolve(sportChecked);
})
.error(rejection);
}
}, rejection);
return defer.promise;
}
});
我和NodeJS一起工作,所以如果你想要我在那部分中的代码,请让我知道,到目前为止,我认为我的问题在前端部分,在控制器中 您的代码抛出的错误是什么?@freshnode我没有收到错误,只是在刷新后,我丢失了要初始化的已检查和未检查元素:$scope.sports=[]在u.each on get回调之前
.factory('SportsFactory', function($http, $q, AuthFactory,
LocalForageFactory, CONSTANT_VARS) {
return {
getSportChecked: function(customer) {
var defer = $q.defer(),
user,
rejection = function(err) {
console.log(err);
defer.reject(err);
};
LocalForageFactory.retrieve(CONSTANT_VARS.LOCALFORAGE_SPORTS_CHECKED)
.then(function(sportChecked) {
user = customer.customer;
if (!_.isNull(sportChecked)) {
defer.resolve(sportChecked);
}else {
$http.get(CONSTANT_VARS.BACKEND_URL + '/sports/getChecked/' + user)
.success(function(sportChecked) {
LocalForageFactory.set(CONSTANT_VARS.LOCALFORAGE_SPORTS_CHECKED, sportChecked);
defer.resolve(sportChecked);
})
.error(rejection);
}
}, rejection);
return defer.promise;
}
});