html页面值通过ajax传到后台并作为参数传递到Mybatis

场景:在html页面中,需要展示内部数据和客户数据,数据库中设计一个字段的值,0代表内部数据,1代表客户数据,默认为0;在页面中默认展示内部数据(SQL语句的字段参数为0),点击按钮后按钮的值变为1,并传递到后台,将1作为SQL条件查询出客户模式然后展示到页面中。

1.首先设置按钮默认值:

<button style="opacity:0.05;" type="button" name="TYPE" value="0" id="CustomerBt" onclick="setValue()">BT</button>

2.在JS中设置点击按钮执行的代码(我这里是先获取到按钮的值,然后判断结果重新进行赋值操作)

function setValue(){        //点击按钮时触发的方法
	bt = $("#CustomerBt").val();        //获取按钮值
	if(bt == 0){
		$('#CustomerBt').attr('value','1')    //判断后重新赋值
	}else{
		$('#CustomerBt').attr('value','0')
	}
	bt = $("#CustomerBt").val()        //再次获取修改后的值
	ssc()            //立即执行数据更新
}

3.通过ajax将按钮的值传到后台

var ssc
var bt=0        //设置初始值,默认为0(内部数据)
ssc = function(){
	
	jsonData = {
	        TYPE: bt        //TYPE为我数据库中设置区分内部数据和客户数据的字段
	    }
$.ajax({
	url:'/mes/HomePage/list',    //地址
	dataType:'json',    //数据类型
	data:jsonData,    //将数据传到后台
	type:'POST',    //类型
	timeout:5000,    //超时
	//请求成功
	success:function(data,status){
		//你的代码逻辑
	},
	//失败/超时
	error:function(XMLHttpRequest,textStatus,errorThrown){
		if(textStatus==='timeout'){
			alert('請求超時');
			setTimeout(function(){
				alert('重新请求');
			},2000);
		}
	}
});

return ssc;

}


setInterval(ssc(),20000);		//设置ajax 20秒请求一次数据

4.控制层接收

     @PostMapping("/list")
	 @ResponseBody
	 public Map<String, Object> list(HomePage homePage,HttpSession session,@RequestParam(value = "TYPE",required = false) Integer TYPE)
	 {
		 System.out.println(TYPE);        //调试打印
		 Map<String, Object> map = new TreeMap<String, Object>();
		 List<HomePage> list = homePageService.selectHomePageList(homePage);		//此方法放的是页面下方滚动数据
		 List<HomePage> listB = homePageService.selectHomePageValue(homePage);		//此方法放的是页面上面部分的投入和产出数据
		 List<HomePage> listYield = homePageService.selectHomePageYield(homePage);		//此方法放的是页面中间部分的综测良率数据
		 map.put("rowsB", listB);
		 map.put("rows", list);
		 map.put("rowsYield", listYield);
		 
		 return map;
	 }
	 

@RequestParam详细介绍参考大佬文章,这里只说一下required参数,设置为true时是必须要传参数,false则不是必须,在以上写法中,第一次获取到的结果是null,所以这里必须要设置为false

@RequestParam详解 - 永不宕机 - 博客园

5.最后传给Mybatis作为条件,返回对应的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值