1. Java 代码
public class HandlerAction {
private List<T> list;// 或 ArrayList<HashMap<Object, Object>> list
private String jsonArray;
// getter && setter
public String doSth() throws Exception {
list = ...;// 直接返回 list,在 ajax 的 success 下面使用
// 或者是转换成 json 字符串,然后再在 ajax 里转换成 json 对象后使用
jsonArray = new net.sf.json.JSONArray().fromObject(list).toString();
return "success";
}
}
2. 关于 $(function() {});
$(function() {}); 是 $(document).ready(function(){}) 的简写;
$(document).ready(function(){}); 里的代码是在页面内容都加载完才执行的;
<script>
$(document).ready(function() {
// ...
});
// 或
$(function() {
// ...
});
</script>
当然如果你把 <script> 标签放到页面最后面那么就没问题了,此时和 ready 效果一样;
<body>
// ...
<script>
// ...
</script>
</body>
3. Ajax
<script type="text/javascript">
$(function() {
$.ajax({
url: "",
data: {
"arg0": arg0,
"arg1": arg1
},
async: true,
dataType: "json",
success: function(data) {
var html = '';
// 遍历方式 1
// jsonArray 是后台返回的 json 字符串
$.each(eval('(' + data.jsonArray + ')'), function(i, item) {
html += '<li class="green"><h3>' + item.time + '</h3><dl><dt><span>' + item.content + '</span></dt></dl></li>';
});
$("#timeline").append(html);
// 遍历方式 2
// list 是后台返回的 List<T> list
/* for ( var i in data["list"]) {
html += '<li class="green"><h3>' + data["list"][i].time + '</h3><dl><dt><span>' + data["list"][i].content + '</span></dt></dl></li>';
}
$("#timeline").append(html); */
},
error: function() {
alert("系统错误");
}
});
});
</script>
4. $.each(obj, function(i, item) {});