这是删除按钮:
<td><input type="button" value="delete" ng-click="deleteUser(u.id)"></td>
这里是JS文件:
var app = angular.module('MyApp', ['ngResource']);
app.factory('baseRequest', ["$resource", function ($resource) {
return $resource("/apis/:method/:id", {method:'@method',id: '@id'}, {
query: {method: 'get', isArray: false}
});
}]);
app.controller("MyCtrl", ["$scope", "baseRequest", function ($scope, baseRequest) {
$scope.users = [];
$scope.fetchAllUsers = function() {
$scope.users = baseRequest.query({method: "getPageData.req"});
console.log($scope.users);
};
$scope.fetchAllUsers();
/**
* here is the delete method
*
**/
$scope.deleteUser = function (id) {
baseRequest.delete({method: "deleteUser.req", id: id}, function (response) {
console.log(response);
}, function (error) {
console.log(error);
});
};
}]);
现在,当我点击删除按钮,它显示如下错误:403,禁止访问指定的资源。
请求信息:
请求URL:http://localhost:8080/apis/deleteUser.req/2 请求方法:DELETE 状态代码:403个 远程地址:[:: 1]:8080
这里是控制器用SpringMVC:
@RequestMapping("/apis")
@Controller
public class UserController {
@Autowired
private UserDao userDao;
@ResponseBody
@RequestMapping(value = "/getPageData", method = RequestMethod.GET)
public Page<User> getDatas(@RequestParam(value = "pageNo", required = false, defaultValue = "1") String No) {
int pageNo = Integer.parseInt(No);
if (pageNo < 0) {
pageNo = 1;
}
return userDao.getPageData(pageNo);
}
@ResponseBody
@RequestMapping(value = "/deleteUser/{id}", method = RequestMethod.DELETE)
public String deleteUser(@PathVariable("id") Integer id) {
System.out.println(id);
if (userDao.deleteUser(id)) {
return "1";
} else {
return "0";
}
}
}
'deleteUser.req'中的'.req'?似乎是问题 –
.req只是请求的后缀。 \t \t 调度程序 servlet-name> \t \t * .req url-pattern> \t servlet-mapping> –
JSO