2016-03-26 3 views
3

я написал ниже кода в моем app.js файла (это остальной проект API angularjs)функция удаления не работает angularjs

.controller('HomeCtrl'['$scope','Questions','$route',function($scope,Questions,$route) { 

    var id = $route.id; 

    Questions.get(function(data) {    
     $scope.questions = data.response; 
    }); 

    $scope.remove = function(id) { 

     window.alert("works"); 
     //var id = $scope.question[id]; 
     // document.write(id); 

     Questions.delete({id:id}).$promise.then(function(data) { 
      if(data.response){     
       $route.reload();     
      }     
     } , function(){ 
       alert("2nd"); 
      } 

     ); 
    }; 
}]) 

первое окно предупреждения и второе окно предупреждения apearing. но

Questions.delete({id:id}).$promise.then(function(data) { 
    if (data.response) {     
     $route.reload();     
} 

не работает. Questions.delete ({id: id}) является «истинным». но почему бы не войти внутрь ?.

Вот мои другие коды для функции удаления.

из шаблона list.html

<a class="trash" ng-click="remove(question.id)"><span class="glyphicon glyphicon-trash"></span></a> 

остальные модели класса

private function delete($id) {  

    $this->db->where('id',$id)->delete('questions'); 

    if ($this->db->affected_rows() === 1) { 
     return TRUE; 
    } 

    return NULL;  

} 

остальное класс контроллера

public function index_delete($id) { 

    if (!$id) { 
     $this->response(NULL,400); 
    } 

    $delete = $this->questions_model->delete($id); 

    if(!is_null($delete)) { 

      $this->response(array("response" =>"deleted"),200); 

    } else { 

     $this->response(array("error" => "cud not save"),404); 

    } 

    } 

} 

может кто-нибудь сказать мне, что здесь отсутствует ?. Спасибо,

+0

Действительно ли вопрос удаляется из БД? Вам не нужно проверять 'if (data.response.deleted) {' (if not - записать 'console.log (data)' в обратном вызове успешного обещания, чтобы увидеть, что фактически возвращается с сервера) –

+0

data.response .deleted не работает для меня –

ответ

0

Произошла небольшая ошибка. Когда я изменил личное удаление на публичное удаление, он наконец-то сработал.

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