Как удалить запись в Spring mvc с помощью запроса angularjs

код внешнего интерфейса

    <button data-ng-click = "deleteRec()" id = "Delete">delete</button>
        var app = angular.module('myApp', ['ngResource']);
 app.controller('UserController', ['$scope', '$resource',function($scope,$resource) 
    {
             $scope.deleteRec = function()
                     {
                        User = $resource(
                                'delete/:username',
                                 {method:'DELETE', params: {username: '@username'}});
                        User.delete({username: $scope.myform.username}).then(function successCallback(response) 
                        {
                            $scope.Message = response;
                        }, function errorCallback(response) {

                        });

                        $scope.myform.username = "";
                        $scope.myform.phone = "";
                        $scope.myform.email = "";
                        $scope.myform.address = "";
                        $scope.myform.password = ""; 
                      };
}]);

код контроллера

@RequestMapping(value = "/delete/{username}")
    public @ResponseBody String delete(@PathVariable("username") String username) 
    {
        String user=retrievedataservice.delete(username);
        return null;
    }

ошибка возникла как это TypeError: User.delete (...). Тогда это не функция Фактически, User - это объект и метод delete () для передачи параметра в методе Spring Controller delete ().

Попробуйте использовать $promise как User.delete({username: $scope.myform.username}).$promise.then(...

Gurkan Yesilyurt 11.12.2018 08:53
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Директивы позволяют расширять HTML новыми элементами и атрибутами и даже создавать собственные структурные директивы для манипулирования DOM. С...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
0
1
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Когда я просмотрел документы,

User.delete - это действие класса, возвращающее пустой экземпляр (с одним из дополнительных свойств ниже)

$promise: обещание исходного взаимодействия с сервером, создавшего этот экземпляр или коллекцию.

Итак, вам нужно вызвать $promise экземпляра.

 var app = angular.module('myApp', ['ngResource']);
 app.controller('UserController', ['$scope', '$resource',function($scope,$resource) 
    {
             $scope.deleteRec = function()
                     {
                        User = $resource(
                                'delete/:username',
                                 {method:'DELETE', params: {username: '@username'}});
                        User.delete({username: $scope.myform.username}).$promise.then(function successCallback(response) 
                        {
                            $scope.Message = response;
                        }, function errorCallback(response) {

                        });

                        $scope.myform.username = "";
                        $scope.myform.phone = "";
                        $scope.myform.email = "";
                        $scope.myform.address = "";
                        $scope.myform.password = ""; 
                      };
}]); 

Другие вопросы по теме