最近好像很流行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中的值名称必须和实体对象一致哦
PS:如果返回json格式的数据,一定要加几个包,否则不会调用回调函数
jackson-annotations-2.2.3.jar
jackson-core-2.2.3.jar
jackson-databind-2.2.3.jar
controller的返回值需要改为 Object的
@ResponseBody
@RequestMapping(value="/support", method=RequestMethod.POST)
public Object support(@ModelAttribute("idea") Idea idea,HttpServletRequest req
jsp的
<a href="javascript:;" onclick="ideaStatus(this);"
class="decr app-status" 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>
分享到:
相关推荐
基于springmvc3.2.x +tomcat8.0 ,使用ajax 发送restful请求处理数据
使用了 Restful 设计风格,以 AJAX 发送 PUT 与 DELETE 类型请求;采用了双端校验,前端校验 JQuery,后端校验符合 JSR303 规范 教务系统管理系统 教务管理系统 学生信息管理系统 学校管理系统
使用了 Restful 设计风格,以 AJAX 发送 PUT 与 DELETE 类型请求;采用了双端校验,前端校验 JQuery,后端校验符合 JSR303 规范 基于BootStrap和SpringBoot的学生信息管理系统,支持增删改查等基础操作,适合个人...
使用了restful设计风格,以ajax发送put与delete类型请求 采用了双端校验,前端校验 JQuery,后端校验符合 JSR303 规范 还涉及到许多的开发细节:Bootstrap搭建页面,MyBatis逆向工程使用,@ResponseBody注解完成...
SpringMVC:接收请求,转发处理(前段控制) SpringIOC:组件解耦(采用注入) MyBatis:数据库访问(实现DAO) 3.======资费管理====== 作用:资费主要是服务的收费标准进行维护。例如计时收费, 套餐,包月三个...
项目介绍 项目名称:员工管理系统 项目描述:基于浏览器实现的...控制器将所有的请求的结果都封装为一个自定义类,然后通过Json数据格式返回给前端界面,管理员成功登录后通过发送Ajax请求使用分页插件技术查询获取到所
同时,为了保证数据的实时更新,项目采用了Ajax技术进行异步数据请求,通过定时任务或事件触发方式实现数据的自动刷新渲染。 后端部分,项目采用了SSM框架来搭建RESTful API,通过MyBatis对数据库进行操作,实现数据...
Spring、SpringMVC、JPA、SpringData 进行 CRUD、翻页整合示范外,还涉及到了诸多企业开发时的细节:基于Restful 风格的 URL、使用 JPA 二级缓存、使用 @ResponseBody 注解完成 Ajax、把超链接转换为 DELETE 请求、...
4.RESTful风格的URI:使用HTTP协议请求方式的动词,来表示对资源的操作{GET(查询)、POST(修改)、PUT(新增)、DELETE(删除)} 二、技术点分析 1.基础框架SSM(Spring+SpringMVC+Mybatis) 2.数据库MySQL 3.前端...
发送AJAX请求获取JSON数据,并通过Dom动态加载页面;使用Spring-Test与Junit编写的单元测试代码;使用了Restful设计风格,以AJAX发送PUT与DELETE类型请求;采用了双端校验,前端重复JQuery,替换了符合JSR303规范