新角度-如何从表中删除选定的值
New to Angular - How to Remove a selected value from a table
我正在尝试使用这个jboss快速启动学习一些基本的AngularJS:https://github.com/jboss-developer/jboss-wfk-quickstarts/tree/c488a5b/kitchensink-angularjs-bootstrap
这是service.js文件:
angular.module('membersService', ['ngResource']).
factory('Members', function($resource){
return $resource('rest/members/:memberId', {});
});
很简单,对吧?下面是controllers.js文件的相关部分:
$scope.register = function() {
Members.save($scope.newMember, function(data) {}, function(result) {});
};
$scope.setSelected = function (member) {
$scope.selectedMember = member;
$scope.successMessages = [ $scope.selectedMember.name ];
}
$scope.unregister = function() {
$scope.successMessages = [ 'Selected: ' + $scope.selectedMember.name ];
Members.remove($scope.selectedMember, function(data) {}, function(result) {});
};
"successMessages"确认正在捕获我选择的值。以下是MemberResourceRESTService.java类中的relavent POST/DELETE方法:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response createMember(Member member) {
Response.ResponseBuilder builder = null;
try {
registration.register(member);
builder = Response.ok();
} catch (Exception e) {}
return builder.build();
}
@DELETE
@Produces(MediaType.APPLICATION_JSON)
public Response removeMember(Member member) {
Response.ResponseBuilder builder = null;
try {
registration.unregister(member);
builder = Response.ok();
} catch (Exception e) {}
return builder.build();
}
基本上,POST/Create Member部分正在工作,但DELETE/Remove Member Rest方法正在传递一个NULL Member。我不确定为什么它没有从客户端进行转换,以及我需要检查哪些额外的文件/config。如果这是一个新手问题,我深表歉意。
在Hoyen评论的帮助下,我能够进行两次修改,修复了问题:
1) 在controllers.js文件中,我不得不修改$scope.unregister函数,使其看起来像这样:
$scope.unregister = function() {
Members.remove({ memberId : $scope.selectedMemberId });
}
2) 我不得不修改我的RestService以包含Id PathParam:
@Path("/{memberId}")
@DELETE
public Response removeMember(@PathParam("memberId") long memberId) {
Response.ResponseBuilder builder = null;
try {
registration.unregister(memberId);
builder = Response.ok();
} catch (Exception e) {}
return builder.build();
}
相关文章:
- 如何从rails中的代码中删除新行( )
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 使用 bindTo() 无法删除新位置的标记
- 超时后无法删除新添加的 HTML 元素
- React警告:ReactMount:根元素已从其原始容器中删除.新容器:[object HTMLDivElement]
- 新角度-如何从表中删除选定的值
- Onsen UI-删除新页面上的选项卡
- 2秒后删除新的jQuery预处理节点
- 无法从jQuery可排序列表中删除新添加的项
- 无法使用角度删除新创建的行.js
- 自动删除新字符 JavaScript
- 当属性为 0 或更低时从数组中删除对象 - 角度
- 从链接中删除新行
- 当不在 DOM 中时,如何解绑(删除)角度模型
- 删除新行
- 如何删除有角度的$modal缓存
- 删除新结果输出开头的逗号
- 通过创建按钮在JavaScript中删除新创建的元素
- 在JQuery .html()调用中包含一个Twig模板并删除新行
- 从顶部删除新的换行,并用剩余的文本替换