如何使用 angularjs 请求删除 spring mvc 中的记录
how to delete record in spring mvc using angularjs request
前端代码
<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(...).then 不是一个函数
实际上,User是一个对象,delete()方法在spring控制器方法delete()中传递参数。
当我参考文档时,
User.delete 是一个 Class 动作 return 一个空实例(具有以下附加属性之一)
$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="";
};
}]);
前端代码
<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(...).then 不是一个函数 实际上,User是一个对象,delete()方法在spring控制器方法delete()中传递参数。
当我参考文档时,
User.delete 是一个 Class 动作 return 一个空实例(具有以下附加属性之一)
$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="";
};
}]);