ajax请求报400

1、可能是由于发送请求时发送的参数类型和Controller中的参数类型不一致导致的

例如下面 value='<%= session.getAttribute("clGrade")%>'这样取出来的值是string,而我后台定义的int clGrade,就会报400错误,所以前面ajax请求里面的data应该是 value=<%= session.getAttribute("clGrade")%>(去掉引号,这样获取到的就是int)

 $("#search").click(function() {
	 		var clGrade =<%= session.getAttribute("clGrade")%>
	 		
	 		 $.ajax({
	 			 type:"post",
	 			url:"majorAnalysisData/findMajorAnalysisData",
	 			dataType:"json",
	 			data: {
					"clGrade":clGrade
				},
	 		 	success:function(data){
	 		 		alert(data)
	 			}, 
	 			error:function(err){
	 				alert("发生错误");
	 			} 
	 		});
	 	
		});
public List<MajorAnalysisData> findMajorAnalysisData(int clGrade) {
		List<MajorAnalysisData> majorAnalysisDatalist = new ArrayList<MajorAnalysisData>();
		MajorAnalysisData majorAnalysisData = new MajorAnalysisData();
		//根据学年获取专业名称
		List<String> majorsName = classService.findAllMajorsByYear(clGrade);
		for (int i =0;i<majorsName.size();i++) {
			//设置专业名称
			majorAnalysisData.setClMajor(majorsName.get(i));
			//设置专业人数
			List<Student> studentlist = studentService.findAllStudentsByClMajorAndStGrade(majorsName.get(i), String.valueOf(clGrade));
			majorAnalysisData.setMaStudentNum(studentlist.size());
			//设置专业挂科人数
			List<Student> failStudentlist = studentService.findFailStudent(majorsName.get(i), String.valueOf(clGrade));
			majorAnalysisData.setMaFailStudentNum(failStudentlist.size());
			//设置补考未通过人数
			List<Student> makeupFailStudentlist = studentService.makeupFailStudent(majorsName.get(i), String.valueOf(clGrade));
			majorAnalysisData.setMakeupFailNum(makeupFailStudentlist.size());
			//设置补考通过人数
			majorAnalysisData.setMakeupSuccessNum(failStudentlist.size()-makeupFailStudentlist.size());
			//设置重修人数
			majorAnalysisData.setRebuildNum(failStudentlist.size()-makeupFailStudentlist.size());
			majorAnalysisDatalist.add(majorAnalysisData);
			System.out.println(majorAnalysisData.toString());
		}
		
		return majorAnalysisDatalist;
	}

2、可能是参数的个数不一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值