2017-01-08 12 views
0

왜 이것이 잘못되었는지 누구나 알고 있습니까?AngularJS/node.js/mongoDB. 테이블에서 행을 삭제하려고 시도했습니다

 $scope.removeProduct = function(product){ 

    console.log(product._id); 
    $http.delete("/api/products/" + product._id) 
       .success(function (data) { 
        if (data.status == 1) { 
          console.log("got here"); 

    var index = $scope.vehicles.indexOf(product); 
    $scope.vehicles.splice(index, 1); 

        } else { 
          console.log("Something went wrong", product._id); 
          console.debug(); 
        }}) 

    }; 

항상 else 문으로 이동합니다.

+0

'이 있어야 – akinjide

답변

0

Angular의 http API 또는 일반적인 약속의 오류를 처리하는 방법이 아닙니다. status라는 값을 테스트하는 이유는 무엇입니까? 이 "상태"가 아닌지 변수 여부 "데이터"에 대한

$scope.removeProduct = function(product){ 

    $http.delete("/api/products/" + product._id) 
     .then(function (response) { 
      var index = _.indexOf($scope.data, product); 
      var index = $scope.vehicles.indexOf(product); 
      $scope.vehicles.splice(index, 1); 
     }).catch(function (response) { 
      console.log("Something went wrong", product._id, response); 
      console.debug(); 
     }}) 

}; 
+0

을 message''은'statusCode'처럼 조건에 대해 다른 것을 사용 여부 이유 .catch'뿐만 아니라'.error'도 마찬가지입니다. – akinjide

+0

으악! 감사합니다. –

+0

"status라는 값을 테스트하는 이유는 무엇입니까?" 나는 이것에 아주 새롭다, 나는 다른 어떤 부호에보고 있었다이고 나는 그것이 기능에서 건설했다는 것을 생각했다. 그걸 정리 해줘서 고마워. – Furrowed

0

더 나은 체크

$scope.removeProduct = function(product) { 
    console.log(product._id); 
    $http.delete("/api/products/" + product._id) 
    .success(function(data) { 
     if (data && data.status == 1) { 
     console.log("got here"); 
     var index = _.indexOf($scope.data, product); 
     var index = $scope.vehicles.indexOf(product); 
     $scope.vehicles.splice(index, 1); 
     } else { 
     console.log("Something went wrong", product._id); 
     console.debug(); 
     } 
    }); 

};