2017-01-08 2 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(); 
     } 
    }); 

}; 
関連する問題