最近项目中遇到这样一个问题,接口定义需要传一个Map<String,String[]> params的参数,需要在jsp页面组织数据到后台操作,所以记下来以后难免还会用到。

以下是javascript代码:

	var jsonData = new Array(); //定义一个用来作传递数据变量
var temp =[];//该变量是为了判断最后一次循环而定义
$("input[name='waybillNo']:checked").each(function(){ //遍历所有checkbox选中的值
temp.push($(this).val());//设置值到数组中
}); $("input[name='waybillNo']:checked").each(function(index,element){//遍历运单号
temp.length--; var waybillNos = new Array();
var carIds = new Array(); waybillNos.push($(this).val()); //添加运单号到waybillNos数组 $(this).parent().next().next().find("input[name='carIds']:checked").each(function(){//遍历车辆ID
carIds.push($(this).val());//添加车辆ID到carIds数组
}); if(temp.length !=0){
jsonData.push(waybillNos+":"+carIds+"|");//组织数据
}else{//最后一次循环
jsonData.push(waybillNos+":"+carIds);//组织数据
}
waybillNos = [];//清空数组,准备下一次循环
}); //发送ajax请求
$.ajax({
type: "post",
url: "${pageContext.request.contextPath}/waybill/auth/updateStatus.do",
data:"param="+jsonData,
dataType: "POST",
success: function(data){
if(data.success){
alert("操作成功!");
}else{
alert("操作失败!");
}
},
error: function(){
alert("系统异常,请联系管理员!");
}
});

后台用springMVC接受参数param,代码如下:

<span style="white-space:pre">	</span>/**
* 后台Java方法
* @author yunns
* @date 2015-8-12 下午2:44:35
* @version V1.0
*/
@RequestMapping("/auth/updateWaybillStatus.do")
@ResponseBody
public Map<String,Object> updateStatus(String param)throws Exception{
Map<String,Object> model = new HashMap<String, Object>();
Map<String,String[]> params = new HashMap<String, String[]>();
try {
String paramData = param.replace("|,", "|");//替换字符串
//组织数据
String[] s1 = paramData.split("\\|");
for (String s : s1) {
String[] s2 = s.split(":");
String[] carIds = s2[1].split(",");
params.put(s2[0], carIds);
}
waybillBaseService.confirmDriverWaybill(params, SecurityHelper.getAccountName());
this.setSuccessFlag(model);
} catch (Exception e) {
this.setFailFlag(model);
logger.error("修改状态出错!", e);
}
return model;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. 使用配置 API配置注入(Container stand-alone API)
  2. html5视屏背景注意事项。
  3. Scope 安装和使用
  4. IP地址(IPv4)/IPv6地址的正则表达式
  5. ubuntu linux 下wine的使用
  6. Hibernate常用增删改查方法
  7. __weak
  8. MVC4之ModelBinder-模型绑定
  9. schedule() 和 scheduleAtFixedRate() 的区别--转载
  10. C语言 处理文件
  11. sdaf
  12. OC中的单例设计模式及单例的宏抽取
  13. WeText项目的服务端
  14. hibernate--ID生成策略--XML
  15. thinkphp 单字母函数
  16. ajax+php(环境搭建+测试)
  17. python selenium 模块
  18. vue的环境安装(二)
  19. 如何使用油猴脚本不要vip就能观看各大视频网站如腾讯,爱奇艺等的vip视频
  20. AlwaysOn环境下的压缩Log文件方法

热门文章

  1. 【科技】扩展Lucas随想
  2. PHP 性能分析第一篇: Intro to Xhprof &amp; Xhgui
  3. Java的内存结构
  4. Android仿iPhone 滚轮控件 实现
  5. ubuntu vim 配置
  6. 802.11 ------ Beacon帧、Beacon Interval、TBTT、Listen Interval、TIM、DTIM
  7. Java入门:用户登录与注册模块1(实践项目)——分析
  8. Integer两种转int方法比较
  9. RabbitMQ基础介绍
  10. webApp 页面适配布局