多个列表从后台给ajax的解决方案

常用于从数据库查出某字段的集合给前端做echart图表分析
为了节约开销,在一个控制器中查出所有需要的集合并放在一起以字符的形式传到前端

@ResponseBody
	@RequestMapping(value="showchart/{Userid}")
	public String Showchart(@PathVariable("Userid") String Userid) {
		String s="";
		int userid=Integer.parseInt(Userid);
		 Archive archive;
		List<Archive> list=as.getmylist(userid);
		Iterator<Archive> i=list.iterator();		
	        List<Float> chollist = new ArrayList<>();
	        List<Float> fbslist = new ArrayList<>();
	        List<Integer> ratelist = new ArrayList<>();
	        List<String> timelist = new ArrayList<>();
	        while(i.hasNext()) {
				archive=i.next();
				chollist.add(archive.getChol());
				fbslist.add(archive.getFbs());
				ratelist.add(archive.getThalach());
				timelist.add(archive.getTime());
		     	prolist.add(archive.getProbability());				
			}
			        s=s+chollist+"|"+fbslist
			        +"|"+ratelist+"|"+timelist;
		return s;
	}

note:List初始化为null的话会报空异常,所以写规范

前端ajax请求,可以看一下数据前端ajax请求,可以看一下数据
看到这个数据后,直接split分割了,放到echarts里,画不出图

$.ajax({
		type:"get",
		url:"../showchart/${Userid}",
		async:false,
		success:function(data){		
			chol=data.split("|")[0];
			fbs=data.split("|")[1];
			rate=data.split("|")[2];
			time=data.split("|")[3];
		}
	});

原因就是分割后的字符串任然是一个字符串,只是他长的比较迷惑,因为是List toString后[10,20,15]这样的格式容易让人直接使用
那既然这是一个字符串,就直接对他处理吧

time=time.replace("[","").replace("]","");
var timedata=time.split(",");

先去掉首位的"[" "]"后继续分割,这样就是妥妥的数组了就可以使用了。bye

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值