后台Action
public void selectReadersById1(){
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response= ServletActionContext.getResponse();
String id=request.getParameter("readerId"); //接收jsp页面传的参数读者id
Readers readers=readersBiz.selectReaderById(Integer.parseInt(id));
if (readers!=null) {
//标红部分为精华,将对象转换为json格式
JSONArray jsonarray = JSONArray.fromObject(readers);
response.setContentType("text/html;charset=UTF-8");
try
{
response.getWriter().print(jsonarray);
System.out.println(jsonarray);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
前台页面.jsp
$("#readerId").blur(function(){
var readerId=$("#readerId").val();
$.ajax({
type:"post",
url:"<%=request.getContextPath()%>/selectReadersById1.action",
data:{"readerId":readerId}, //传参数读者id至后台
dataType:"text",
success:function(data)
{
alert(data); //打印结果可以看出data是一个json格式的字符串
//标红部分为精华部分,将json格式的字符串转化为数组
var myobj=eval(data);
for(var i=0;i<myobj.length;i++){
$("#readerName").val(myobj[i].name);
// alert(myobj[i].age);
}
}
})
})
注:eval() 将服务器端构建好的JSON数据转化为可用的JavaScript对象,在转化的时候需要将JSON字符串的外面包装一层圆括号
如:var jsonObject = eval("(" + jsonFormat + ")");