1、$.post() 和$.ajax() 基本类似,但是更简化了一些。jQuery插件中,$.post底层最终调用的还是$.ajax():
2,jsp页面:
<script type="text/javascript" src="scripts/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#btn").click(function(){
$.post("XmlServlet",{
name: $("#name").val()
},function(datas,status){
var name = $(datas).find("name").text();
var age = $(datas).find("age").text();
var address = $(datas).find("address").text();
var email = $(datas).find("email").text();
//生成表格的形式显示到页面中
var html = "<table width='50%' border='1' align='center'><tr><th>name</th><th>age</th><th>address</th><th>address</th></tr><tr><td>"+name+"</td><td>"+age+"</td><td>"+address+"</td><td>"+email+"</td></tr></table>";
$("#theBody table:eq(0)").remove();
$("#theBody").append(html);
});
});
});
</script>
</head>
<body id="theBody">
<select id="name" name="name">
<option value="tomcat">Tom Cat</option>
<option value="android">Android</option>
</select>
<input type="button" name="btn" id="btn" value="Get XML from server">
</body>
2、请求的后台服务Servlet:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//接受前台传过来的参数name
String name = request.getParameter("name");
Person person = new Person();
if("tomcat".equals(name)){
person.setName("tomcat");
person.setAge(23);
person.setAddress("北京");
person.setEmail("tomcat@126.com");
}else if("android".equals(name)){
person = new Person();
person.setName("android");
person.setAge(12);
person.setAddress("上海");
person.setEmail("android@163.com");
}
Document document = DocumentHelper.createDocument();
Element rootElement = document.addElement("users");
rootElement.addComment("This ia a commnet");
Element userElement = rootElement.addElement("user");
Element nameElement = userElement.addElement("name");
Element ageElement = userElement.addElement("age");
Element addressElement = userElement.addElement("address");
Element emailElement = userElement.addElement("email");
nameElement.setText(person.getName());
ageElement.setText("" + person.getAge());
addressElement.setText(person.getAddress());
emailElement.setText(person.getEmail());
//服务器应该返回的是xml文档
response.setContentType("text/xml; charset=utf-8");
//清理缓存
response.setHeader("pragma", "no-cache");
response.setHeader("cache-control", "no-cache");
//输出到客户端用PrintWriter
PrintWriter out = response.getWriter();
//格式化xml文档
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
//用XmlWriter写到客户端
XMLWriter writer = new XMLWriter(out,format);
writer.write(document);
//关闭输出流
out.flush();
}