ajax的异步传输

有时我们会遇见需要从前台向后台传入多条数据(对象),数据库进行批量操作增、删、改、查。

html代码如下:

<body style="height:100%; width:100%">
	<div id="allDiv">
		<div id="topDiv_4G"  style="height:100px;"></div>
		
	    <div id="mainDiv_4G" style="height: 342px; ">
	    	<div  style="height: 40px;border: 1px solid #4C9ED9;"><center><span id="loggingLabel">4G支撑参数配置</span></center></div>
	    	<div class="config_4G">
		    	<label id="label_1">4G用户判定</label><label>
		    	</label>:4G网络产生过业务时间大于等于</label>
		    	<input type="text" class="config_input_4G" id="input_1"></input>
		    	<label>天</label>
	    	</div>
	    	<div  class="config_4G">
		    	<label id="label_2">栅格大小设置</label><label>
		    	</label>:</label>
		    	<input type="text" class="config_input_4G" id="input_2_1"></input>
		    	<label>m X</label>
		    	<input type="text" class="config_input_4G" id="input_2_2"></input>
		    	<label>m</label>
	    	</div>
	    	<div  class="config_4G">
		    	<label id="label_3">低驻留比栅格</label><label>
		    	</label>:4G用户在2&3G日均流量大于</label>
		    	<input type="text" class="config_input_4G" id="input_3_1"></input>
		    	<label>MB、流量驻留比小于</label>
		    	<input type="text" class="config_input_4G" id="input_3_2"></input>
		    	<label>%、时长驻留比小于</label>
		    	<input type="text" class="config_input_4G" id="input_3_3"></input>
		    	<label>%</label>
	    	</div>
	    	<div  class="config_4G">
		    	<label id="label_4">2G高倒流小区(时长)</label><label>
		    	</label>:</label>
		    	<input type="text" class="config_input_4G" id="input_4_1"></input>
		    	<label>时间内,2G小区下4G用户产生的时长大于</label>
		    	<input type="text" class="config_input_4G" id="input_4_2"></input>
		    	<label>h、4G用户数大于</label>
		    	<input type="text" class="config_input_4G" id="input_4_3"></input>
	    	</div>
	    	<div  class="config_4G">
		    	<label id="label_5">3G高倒流小区(时长)</label><label>
		    	</label>:</label>
		    	<input type="text" class="config_input_4G" id="input_5_1"></input>
		    	<label>时间内,3G小区下4G用户产生的时长大于</label>
		    	<input type="text" class="config_input_4G" id="input_5_2"></input>
		    	<label>h、4G用户数大于</label>
		    	<input type="text" class="config_input_4G" id="input_5_3"></input>
	    	</div>
	    	<div  class="config_4G">
		    	<label id="label_6">2G高倒流小区(流量)</label><label>
		    	</label>:</label>
		    	<input type="text" class="config_input_4G" id="input_6_1"></input>
		    	<label>时间内,4G用户在2G小区产生的流量大于</label>
		    	<input type="text" class="config_input_4G" id="input_6_2"></input>
		    	<label>MB</label>
	    	</div>
	    	<div  class="config_4G">
		    	<label id="label_7">3G高倒流小区(流量)</label><label>
		    	</label>:</label>
		    	<input type="text" class="config_input_4G" id="input_7_1"></input>
		    	<label>时间内,4G用户在2G小区产生的流量大于</label>
		    	<input type="text" class="config_input_4G" id="input_7_2"></input>
		    	<label>MB</label>
	    	</div>
		    	<div>
		    	<input type="button" value="修改" class="input_button_4G" style="height: 30px;" οnclick="update4G_config_Message()"/>
		    	</div>
	    </div>
	    
	    <div id="bottonDiv_4G" style="height:138px;">
	    </div>
	</div>
</body>
js中代码如下:

function onclickMenu(pageNo){
	var jsonStr = [{'name':$('#label_1').text(), 'data':$('#input_1').val()} ,
	               {'name':$('#label_2').text(), 'data':$('#input_2_1').val(),'time':$('#input_2_2').val()},
	               {'name':$('#label_3').text() , 'data':$('#input_3_1').val(),'time':$('#input_3_2').val(),'number':$('#input_3_3').val()},
	               {'name':$('#label_4').text() , 'data':$('#input_4_1').val(),'time':$('#input_4_2').val(),'number':$('#input_4_3').val()},
	               {'name':$('#label_5').text() , 'data':$('#input_5_1').val(),'time':$('#input_5_2').val(),'number':$('#input_5_3').val()},
	               {'name':$('#label_6').text() , 'data':$('#input_6_1').val(),'time':$('#input_6_2').val()},
	               {'name':$('#label_7').text() , 'data':$('#input_7_1').val(),'time':$('#input_7_2').val()}]
	$.ajax({
		type: "post",
		url: path+'/systemConfigureController/update4GsupportConfig.do',   
		dataType : 'json',
		async: false,
		data : {"mydata":JSON.stringify(jsonStr)},//这个是重点!需要把js对象进行json序列化,不然无法传递到服务端。
		success: function (data, textStatus) {
				if(data){
					$.messager.alert("提示","配置4G支撑参数成功!!");
				}else{
					$.messager.alert("提示","配置4G支撑参数失败!!");
				}
	        },
	        complete: function (XMLHttpRequest, textStatus) {
	        	
	        },
	        error: function (e) {
	        	 $.messager.alert("提示","配置4G支撑参数失败!!");
	        }
	});
}

控制层代码如下:
@RequestMapping("update4GsupportConfig")
	public void update4GsupportConfig(HttpServletRequest request, HttpServletResponse response){
		String jsonStr = request.getParameter("mydata");
		JSONArray jsonArray = JSONArray.fromObject(jsonStr);
		boolean isTrue = false;
		List<ParameterSetting> list = new ArrayList<ParameterSetting>();
		for(int i=0;i<jsonArray.size(); i++){
			ParameterSetting parameterSetting = new ParameterSetting();
			JSONObject jsonJ = jsonArray.getJSONObject(i);
			if(jsonJ.containsKey("name")){
				String name = jsonJ.getString("name");
				parameterSetting.setName(name);
			}
			if(jsonJ.containsKey("data")){
				String data = jsonJ.getString("data"); 
				parameterSetting.setData(data);
			}
			if(jsonJ.containsKey("time")){
				String time = jsonJ.getString("time");
				parameterSetting.setTime(time);
			}
			if(jsonJ.containsKey("number")){
				String number = jsonJ.getString("number");
				parameterSetting.setNumber(number);
			}
			list.add(parameterSetting);
		}
		isTrue = systemConfigureService.updateMessage(list);
		if(isTrue){
			systemConfigureService.insertSystemLogging((String) request.getSession().getAttribute("userName"), "4G支撑参数配置", "成功");		
		}else{
			systemConfigureService.insertSystemLogging((String) request.getSession().getAttribute("userName"), "4G支撑参数配置", "失败");		
		}
		try {
			response.getWriter().print(isTrue);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

数据库xml代码如下:

<!-- 修改配置文件 -->
	<update id="updateMessage" parameterType="com.hrtel.systemConfigure.entity.ParameterSetting" >
		<foreach collection="list" index="index" item="items" open="" close="" separator=";">
			UPDATE parameter_setting
			<set>
				<if test="items.name!=null and items.name!=''">
					name = #{items.name},
				</if>
				 <if test="items.data!=null and items.data!='' ">     
	            	data = #{items.data},      
	             </if>  
	             <if test="items.time!=null and items.time!='' ">     
	            	time = #{items.time},     
	             </if> 
	             <if test="items.number!=null and items.number!='' ">     
	            	number = #{items.number}     
	             </if>     
			</set> 
			where name = #{items.name}
		</foreach>
	</update>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值