执行get请求时出错

时间:2015-03-10 17:25:15

标签: angularjs node.js

我正在尝试执行get请求,在post请求中一切正常,我可以看到在post请求中我所做的一切都已保存,一旦刷新我正在控制台中打印邮件请求保存的项目的页面,但这些项目没有通过我正在进行的get返回。

这里是一切开始的地方,我这里有一个项目列表,可以选中选中或取消选中列表中的项目

<ion-item ng-repeat="sport in sports" ng-click="toggleSportSelection(sport)">
    {{:: sport.name}}
</ion-item>

默认情况下,所有项目均为checked = true,因此我保存的是包含checked = false的项目,您可以在此处看到的项目checked = true

<div ng-show="sport.checked" ng-repeat="sport in sports">
     {{sport.name}}
</div>

这就是我在控制器中的内容

.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一起工作,所以如果你想要我在那部分的代码让我知道,到目前为止我认为我的问题是在前端部分,在控制器中。

0 个答案:

没有答案