2017-01-08 67 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

爲什麼不能用別的東西你的病情,如'statusCode'或'message' – akinjide

回答

0

這不是你如何處理Angular的http API中的錯誤,也不是一般的承諾。你爲什麼要測試一個稱爲狀態的值?針對「數據」變量是否有「身份」或沒有

$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

應該有' .catch',而不只是'.error' – akinjide

+0

哎呀!謝謝 –

+0

「你爲什麼要測試一個稱爲狀態的值?」我在這方面很新,我正在研究其他一些代碼,我認爲這是一個內置函數。感謝您爲我清理。 – 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(); 
     } 
    }); 

};