首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

Restful风格的springMVC配搭ajax请求

2013-11-16 
Restful风格的springMVC搭配ajax请求最近好像很流行Restful,终于弄懂一点眉目。一个小小的ajax请求没反应让

Restful风格的springMVC搭配ajax请求
最近好像很流行Restful,终于弄懂一点眉目。一个小小的ajax请求没反应让我找了半天错误,原来是请求路径写错了。不给提示,坑死哥了。记下来

点击页面按钮,调用以下函数function ideaStatus(el){var self=$(el);var status=self.attr('data-status');var ideaId=self.attr('data-id');var txt=self.text();var txtStatus = self.text();$('#status-confirm p').text('确定 '+txt+'?');status=status==1?0:1;$('#status-confirm').dialog({title:'提示信息',autoOpen: true,height: 'auto',width: 300,modal: true,buttons: {"确定": function(){    $.post('admin/idea/check/lock',{    ideaId:ideaId,status:status    },function(data){    $('#status-confirm').dialog("close");        if(data=='success'){    self.attr('data-status',status);    txt=status==1?'锁定':'解锁';    self.text(txt);    $('.app-list').appTip(txtStatus+' 成功');    }else{    alert('操作失败,请联系系统维护人员');    }    },"text"); },'取消': function(){$(this).dialog("close");}}}); }



@ResponseBody@RequestMapping(value="/check/{operation}",method=RequestMethod.POST)public String ideaCheck(@PathVariable("operation")String operation,@ModelAttribute("idea") Idea idea){Map<String,Object> params = new HashMap<String, Object>();//传参错误直接返回if(null != idea && idea.getIdeaId()!=null){params.put("ideaId", idea.getIdeaId());if("lock".equals(operation)){params.put("status", idea.getStatus());}else if("audit".equals(operation)){params.put("auditStatus", idea.getAuditStatus());params.put("score", idea.getScore());}ideaService.updateIdea(params);}return "success";}@ResponseBody 代表是ajax请求,有了此标签就不用像struts2中那样写print.out了,前台还可以指定输出的格式,这里是text,说明是个字符串@RequestMapping(value="/check/{operation}" 这就是restful风格的写法了,用唯一的url响应一个请求,不用带参数的方式method=RequestMethod.POST 代表是update操作(@PathVariable("operation")与requestMapping中的内容一致@ModelAttribute("idea") Idea idea 实体对象当做一个参数传过来了。注意jsp中的值名称必须和实体对象一致哦


jsp的
<a href="javascript:;" onclick="ideaStatus(this);"data-status="${i.status}"data-id="${i.ideaId}"><c:if test="${i.status=='1'}">锁定</c:if><c:if test="${i.status=='0'}">解锁</c:if></a></p>

热点排行