2016-03-15 4 views
0

Я пытаюсь удалить строки из сетки. Внутри функции foreach мне нужно сделать вызов $ http.delete для удаления из базы данных. Ниже приведен код, который я написал с помощью другого аналогичного вопроса. Пожалуйста, сообщите, что случилось. Он достигает до $ http.delete, но не выполняет вызов.

var promises = []; 

angular.forEach($scope.gridApi.selection.getSelectedRows(), 
    function (data, index) 
    { $scope.gridOptions.data.splice($scope.gridOptions.data.lastIndexOf(data), 1); 
    promises.push($scope.deleteRow(data._id));    
    } 
); 

$q.all(promises).then(
function success(){alert("Delete successful");}, 
function failure(err){alert("Error in deletion");} 
); 

$scope.deleteRow = function(rowId) 
{ 
    return $http.delete('http://localhost:8080/deleterecords/' + data._id); 
} 
+0

Какая ошибка? Любой фрагмент кода, который вы можете предоставить? –

+0

Вы искали ошибки в консоли Javascript инструментов разработчика браузера? –

+0

Спасибо, Johannes! .. Я новичок в отладке javascript, да, поскольку вы предложили мне проверить инструменты разработчика браузера, и была ошибка на вкладке консоли ... как squaleLis, предложенная ниже, эталонная ошибка для переменной данных! – higujral

ответ

0

В функции deleteRow вы не имеют доступа к более data. Вы должны изменить свой код на:

$scope.deleteRow = function(rowId) { 
    return $http.delete('http://localhost:8080/deleterecords/' + rowId); 
} 
+0

Упс ... thanks squaleLis – higujral

+0

Если он решил, пожалуйста, отметьте мой ответ как принято :) – squaleLis

+1

Конечно, я просто ждал, чтобы проверить, что ничего не сломано:) ... вот вы! – higujral

Смежные вопросы