此处要涉及两个方法:
1. eval(): 处理括号内参数返回一个JSON对象
2. $.each(): 用来在回调函数中解析JSON数据的方法
官方文档:
jQuery.each( collection, callback(indexInArray, valueOfElement) )
collection: The object or array to iterate over.
callback(indexInArray, valueOfElement): The function that will be
executed on every object.
$.each()方法接受两个参数,参数1是需要遍历的对象集合(JSON对象集合),
参数2是用来遍历的方法,该方法又接受两个参数,第一个是遍历index,第二个
是当前遍历的值。
具体js代码如下:
$.ajax({
url: "page/show", //此处url是在strust.xml中配置的路径
data: { "PageIndex": curPage},
type: "post",
dataType: "json",
success: function (data) {
//data是从后台传来的json格式数据
//结果为:{"count":"2","result":[{"id":"001","name":"abc","password":"123"},
//{"id":"002","name":"bcd","password":"123"}]}
//注意只是data为json格式结果,data中的result此时还不是json格式的,所以必须用eval()对result处理
var result = eval(data.result);//此处必须用eval()取得result
$.each(result, function(i, o) { //通过$.each()方法解析json对象
//在前台页面以表格方式显示结果
$(".tab").append( $("<tr><td>" +o.id+ "</td><td>" +o.name
+ "</td><td>" + o.password + "</td></tr>");
});
}
});