页面使用ajax接收后台发送的数据时出错

ajax获得后台逻辑代码传送过来的数据,当采用实体类接收的时候,实体类中必须编写get/set方法,否则,ajax技术获得不到相应数据,执行error方法中的相关逻辑。相应展示代码如下:

业务代码:
//进行点名的后台操作 业务逻辑代码
		@RequestMapping("/callTeacherController")
		@ResponseBody
		public Detail callTeacherController(HttpServletRequest request,HttpServletResponse response,HttpSession session,
				String in,String username){
			//判断是否找到后台逻辑
			System.out.println(username);
			
			in="计算机2班";
			ResponseStatus<Void> rr=null;
			List<Student> list=null;
			Detail det=null;
			try {
				list=teacherServiceImpl.selectStudentService(in);
				for(Student stu:list){
					String usernameStu=stu.getUsername();
					String number=stu.getNumber();
//					System.out.println(usernameStu+","+number);
					//
					det=new Detail(usernameStu,number);
				}
				//输出返回的学生列表
				System.out.println("本班学生为==============="+list);
				System.out.println("学生姓名和学号为:---------------"+det);
				
//				JSONObject json=null;
//				session.setAttribute("callList", list);
//				rr=new ResponseStatus<Void>(1,"查询成功");
			} catch (Exception e) {
//				rr=new ResponseStatus<Void>(0,"查询失败");
			}
			//要想正确返回正确的信息,实体类中必须重写对应数据成员的get/set方法
			return det;
		}
对应接收实体类型定义:
package cn.jmsu.csti.smis.bean;

import java.io.Serializable;

/**
 * 点名对象
 * @author 博弈
 *
 */
public class Detail implements Serializable{
	
	/**
	 * 序列号
	 */
	private static final long serialVersionUID = 1L;
	
	private String username;
	private String number;
	
	public Detail(String username, String number) {
		super();
		this.username = username;
		this.number = number;
	}

	/* public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getNumber() {
		return number;
	}
	public void setNumber(String number) {
		this.number = number;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	} */
	@Override
	public String toString() {
		return "Detail [username=" + username + ", number=" + number + "]";
	}
	
}
前台展示功能页面:
<script type="text/javascript">
	
	function call(){
		$.ajax({
			url:"${pageContext.request.contextPath }/teacherController/callTeacherController.do",
			type:"post",
			dataType:"json",
			data:"username="+"success very good!",
			success:function(obj){
				//alert(obj.username+","+obj.number);
				//将获取的数据存入到全局变量中,供之后的使用
				username=obj.username;
				number=obj.number;
				document.getElementById("span_id").innerHTML=username+"+"+number;
			},
			error:function(obj){
				alert("状态返回失败,进入重建状态...........");
			}
		});
		
	}
</script>
</head>
<body>
	<p>教师详情操作页面:</p>
	<div>
		<span id="span_id">
			
		</span>
	</div><br>
	<button id="but" onclick="call()">开始点名</button>
</body>
出现的情况:
当实体类中的get/set方法没有书写的时候,业务逻辑传送回来的数据,在ajax中的接收中获得不到,执行error中的
当实体类中的get/set方法书写了,则在ajax中的接收中可以获得到对应的数据,执行success中的功能片段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值