前台序列化传过来的值,后台获取之后封装到map当中,让后在转化成json格式,最后在把json里面的参数里面的某一个值进行分割,最后在存到json格式的数据中去。
一,html脚本
<script type="text/javascript">
$(function() {
$(".btn-submit").click(function() {
var url = '${rc.contextPath}/wxFfanApply.htm?method=save';
var param = $("#submitForm").serialize();
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: param,
async: false,
success: function(data){
if ("000" == data.code) {
alert("保存成功");
var url = '${rc.contextPath}/wxFfanApply.htm?method=preToMain';
document.getElementById('submitForm').action = url;
document.getElementById('submitForm').submit();
} else {
alert("保存出现异常,请重试");
}
}
});
});
});
</script>
<body>
<div class="page-upload">
<form id="submitForm" action="" method="post">
<input type="hidden" name="wxOpenId" value="${wxOpenId}"/>
<input type="hidden" name="applyId" value="${applyId}"/>
<input type="hidden" name="wxModuleType" value="${wxModuleType}"/>
<input type="hidden" name="fssId" id="fssId" />
<input type="hidden" name="originalFilename" id="originalFilename" />
<input type="hidden" name="imageType" id="imageType" />
<input type="hidden" name="companyType" id="companyType" />
<input type="button" class="btn-upload bg-business-license" name="yushow" id="yushow" value="点击上传营业执照" onclick="uploadBtn();">
<input type="file" name="upload" style="display:none;" onchange="previewImg(this);" id="upload" accept="image/*"/>
<ul class="info-list">
<li class="info-list-li">
<label class="lable-with-bg">注册号/信用代码</label>
<div class="li-right">
<input type="text" class="input-before-btn" placeholder="扫码可自动填充" name="businessRegno" value="${orderParam.businessRegno!}"/>
<button class="btn-scan"></button>
</div>
</li>
<li class="info-list-li">
<label>企业名称</label>
<input type="text" placeholder="请填写营业执照上的名称" name="merchantName" value="${orderParam.merchantName!}"/>
</li>
<li class="info-list-li">
<label>企业类型</label>
<div id="trigger1" >请选择</div>
</li>
<li class="info-list-li">
<label>法人/负责人名称</label>
<input type="text" placeholder="请填执照上负责人名称" name="legalName" value="${orderParam.legalName!}"/>
</li>
<li class="info-list-li">
<label>经营范围</label>
<input type="text" placeholder="请填执照上的经营范围" name="businessScope" value="${orderParam.businessScope!}"/>
</li>
<li class="info-list-li">
<label>注册地址</label>
<input type='text' id='sel_city' name="selCity"placeholder='请选择' />
</li>
<li class="info-list-li">
<label>详细地址</label>
<input type="text" placeholder="与营业执照地址一致" name="address" value="${orderParam.address!}"/>
</li>
<li class="info-list-li">
<label>有效期始</label>
<input id="startDate" name="startDate" class="select" placeholder="请选择开始日期"/>
</li>
<li class="info-list-li">
<label>有效期止</label>
<input id="endDate" name="endDate" class="select" placeholder="请选择开始日期"/>
</li>
<li class="info-list-li">
<label>三证合一</label>
<div class="li-right">
<div class="slide-block">
<div class="slide-block-ball"></div>
<input type="hidden" id="isUniformSocialCredit" name="isUniformSocialCredit" value=""/>
</div>
</div>
</li>
</ul>
<div class="btn-wrapper">
<button class="btn-submit">保存</button>
</div>
</form>
</div>
二,java代码
2.1,代码一
public void save(HttpServletRequest request, HttpServletResponse response) {
logger.info("save info begin...");
Map<String, Object> result = new HashMap<String, Object>();
try {
String wxOpenId = request.getParameter("wxOpenId");
String applyId = request.getParameter("applyId");
String wxModuleType = request.getParameter("wxModuleType");
if (StringUtil.isEmpty(wxOpenId) || StringUtil.isEmpty(applyId)
|| StringUtil.isEmpty(wxModuleType)) {
result.put("code", "001");
result.put("desc", "必填参数为空");
super.toJson(result, response);
return;
}
// 获取request里的所有参数,作为orderParam
String paramJson = packageOrderParam(request);
}
2.2,代码二
protected String packageOrderParam(HttpServletRequest request)
throws Exception {
Map<String, Object> paramMap = getParameterMap(request);
String selCity = request.getParameter("selCity");
if(StringUtil.isNotEmpty(selCity)){
String [] arr = selCity.split("\\s+");
String province=null;
String city=null;
String country=null;
for (int i = 0; i < arr.length; i++) {
switch (i) {
case 0:
province = arr[i];
break;
case 1:
city = arr[i];
break;
case 2:
country= arr[i];
break;
default:
break;
}
}
paramMap.put("province", province);
paramMap.put("city", city);
paramMap.put("country", country);
}
return JsonUtils.map2Json(paramMap);
}
2.3,代码三
@SuppressWarnings("unchecked")
public Map<String, Object> getParameterMap(HttpServletRequest request) {
Map<String, Object> resultMap = new HashMap<String, Object>();
Map<String, String[]> map = request.getParameterMap();
Set<Map.Entry<String, String[]>> set = map.entrySet();
Iterator<Map.Entry<String, String[]>> it = set.iterator();
while (it.hasNext()) {
Map.Entry<String, String[]> entry = (Map.Entry<String, String[]>) it.next();
for (String v : (String[]) entry.getValue()) {
resultMap.put(entry.getKey(), v);
}
}
return resultMap;
}
前台序列化传过来的值,后台获取之后封装到map当中,让后在转化成json格式,最后在把json里面的参数里面的某一个值进行分割,最后在存到json格式的数据中去。的更多相关文章
- VUE 直接通过JS 修改html对象的值导致没有更新到数据中去
业务场景 我们在使用vue 编写 代码时,我们有一个 多行文本框控件,希望在页面点击一个按钮 在 文本框焦点位置插入一个 {pk}的数据. 发现插入 这个数据后,这个数据并没有同步到 数据中,但是直接 ...
- 关于PHP参数的引用传递和值传递
如果希望编写一个名为increment()的函数来增加一个变量的值,我们可能会按如下方式编写这个函数: 这段代码是没有用的.下面测试代码的输出结果是“10”. $value 的内容没有被修改.这要归因 ...
- .net后台获取DataTable数据,转换成json数组后传递到前台,通过jquery去操作json数据
一,后台获取json数据 protected void Page_Load(object sender, EventArgs e){ DataTable dt = DBhepler.GetDataT ...
- Hbuilder app开发,使用mui.ajax和服务器交互,后台获取不到值,显示null的解决方法
先上一个能用的js代码: function login() { var uname=document.getElementById("username").value.trim() ...
- javaWeb - 2 — ajax、json — 最后附:后台获取前端中的input type = "file"中的信息 — 更新完毕
1.ajax是什么? 面向百度百科一下就知道了,这里就简单提炼一下 Ajax即Asynchronous Javascript And XML(异步JavaScript和XML).当然其实我们学的应该叫 ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...
- js前台传数组,java后台接收转list,前后台用正则校验
前台,传参数时,将数组对象转换成json串,后台java收到后用 JSONArray.fromObject 转成集合. 前台js:var params = {"FileNameList&qu ...
- .net后台获取HTML中select元素选中的值
前台: <select id="Province" name="Province" class="select"></se ...
- 使用JQuery结合HIghcharts实现从后台获取JSON实时刷新图表
项目做了一个报表,可以实时的观察呼叫中心的电话访问量,之前的版本是使用JFreechart做的,使用一段时间后出现内存溢出,服务器的内存使用量会变得很大,所以改用Ajax前台加载数据的方式实现实时报表 ...
随机推荐
- (python基础)时间辍time、时间元组localtime、时间格式化strftime
可以直接将下方代码运行查看结果:#!/usr/bin/python# coding=utf-8import time # 引入time模块# 时间戳:# 每个时间戳都以自从1970年1月1日午夜(历元 ...
- LeetCode - 657. Judge Route Circle
Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot m ...
- jQuery smartMenu右键自定义上下文菜单插件
http://www.zhangxinxu.com/wordpress/?p=1667 <%@ page contentType="text/html; charset=UTF-8&q ...
- [Python Study Notes] 编程仪式感的Hello World!
学习还是要有一点仪式感的,学单片机第一步,点个灯:学编程第一步,hello world! C:\Users\Liu>python Python 3.6.4 (v3.6.4:d48eceb, De ...
- java程序设计原则
前言: 前言:java这种面向对象的的语言其实是很符合人的生活思维模式的,因为它以对象作为自己的研究对象,所谓"万物皆对象".一个人.一颗苹果.一只蚂蚁都是对象.所以它的设计原则和 ...
- centos7 网桥的配置
centos7下配置网桥,两个步骤:1.新建网桥配置2.修改网卡配置 新建br0 网桥配置 在/etc/sysconfig/network-scripts/目录下新建ifcfg-br0,添加如下配置信 ...
- jq自定义多选下拉列表框
多选选择国家插件 https://gitee.com/richard1015/dropDownList
- [翻译] 编写高性能 .NET 代码--第二章 GC -- 减少分配率, 最重要的规则,缩短对象的生命周期,减少对象层次的深度,减少对象之间的引用,避免钉住对象(Pinning)
减少分配率 这个几乎不用解释,减少了内存的使用量,自然就减少GC回收时的压力,同时降低了内存碎片与CPU的使用量.你可以用一些方法来达到这一目的,但它可能会与其它设计相冲突. 你需要在设计对象时仔细检 ...
- Mysql引擎中MyISAM和InnoDB的区别有哪些?
简单的概括一下 InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和 ...
- 3道acm简单题(2011):1.判断是否能组成三角形;2.判断打鱼还是晒网;3.判断丑数。
//1.输入三个正整数A.B.C,判断这三个数能不能构成一个三角形.//思路:最小的两边之和是否是大于第三边#include<iostream>#include<algorithm& ...