//POST
<script type="text/javascript">
window.onload = function(){
document.getElementsByTagName("a")[0].onclick = function(){
var request = new XMLHttpRequest();
var url = this.href+"?time="+new Date();
var method = "POST";
request.open(method,url);
request.setRequestHeader("ContentType","application/x-www-form-urlencoded");
request.send("name='gmy'");
request.onreadystatechange =function(){
if(request.readyState == 4){
if(request.status ==200 || request.status ==304){
alert(request.responseText);
}
}
}
return false;
}
}
</script>
<body>
<a href="helloAjax.txt">Hello</a>
</body>
//GET
<script type="text/javascript">
window.onload = function(){
document.getElementsByTagName("a")[0].onclick = function(){
var request = new XMLHttpRequest();
var url = this.href+"?time="+new Date();
var method = "GET";
request.open(method,url);
request.send(null);
request.onreadystatechange =function(){
if(request.readyState == 4){
if(request.status ==200 || request.status ==304){
alert(request.responseText);
}
}
}
return false;
}
}
</script>
<body>
<a href="helloAjax.txt">Hello</a>
</body>
//解析HTML
window.onload = function() {
var aNodes = document.getElementsByTagName("a");
for (var i = 0; i < aNodes.length; i++) {
aNodes[i].onclick = function() {
var request = new XMLHttpRequest();
request.open("GET", this.href);
request.send(null);
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200 || request.status == 304) {
document.getElementById("details").innerHTML = request.responseText;
}
}
}
return false;
}
}
}
<h1>People</h1>
<ul>
<li><a href="html/Andy.html">Andy</a></li>
<li><a href="html/Richard.html">Richard</a></li>
<li><a href="html/Jeremy.html">Jeremy</a></li>
</ul>
<div id="details"></div>
//解析XML
window.onload =function(){
var aNodes = document.getElementsByTagName("a");
for(var i=0;i<aNodes.length;i++){
aNodes[i].onclick=function(){
var request = new XMLHttpRequest();
request.open("GET",this.href);
request.send(null);
request.onreadystatechange=function(){
if(request.readyState == 4){
if(request.status ==200||request.status ==304){
var result = request.responseXML;
var name = result.getElementsByTagName("name")[0].firstChild.nodeValue;
//alert(name);
var aNode = document.createElement("a");
var brNode = document.createElement("br");
aNode.appendChild(document.createTextNode(name));
var detailsNode = document.getElementById("details");
detailsNode.appendChild(aNode);
detailsNode.appendChild(brNode);
}
}
}
return false;
}
}
}
<h1>People</h1>
<ul>
<li><a href="xml/Andy.xml">Andy</a></li>
<li><a href="xml/Richard.xml">Richard</a></li>
<li><a href="xml/Jeremy.xml">Jeremy</a></li>
</ul>
<div id="details"></div>
//解析JSON
window.onload =function(){
var aNodes = document.getElementsByTagName("a");
for(var i=0;i<aNodes.length;i++){
aNodes[i].onclick=function(){
var request = new XMLHttpRequest();
request.open("GET",this.href);
request.send(null);
request.onreadystatechange=function(){
if(request.readyState == 4){
if(request.status ==200||request.status ==304){
var result = request.responseText;
var object = eval("("+result+")");
var name = object.person.name;
alert(name);
}
}
}
return false;
}
}
}
<h1>People</h1>
<ul>
<li><a href="json/Andy.js">Andy</a></li>
<li><a href="json/Richard.js">Richard</a></li>
<li><a href="json/Jeremy.js">Jeremy</a></li>
</ul>
<div id="details"></div>
//JQUERY
//load()方法
$("#content").load(url,args);
//GET XML
$(function(){
$("a").click(function(){
var url = this.href;
var args = {"time":new Date()};
$.get(url,args,function(date){
var name = $(date).find("name").text();
$("#details").empty().append("<h2><a href=''>"+name+"</a></li>");
});
return false;
})
})
<h1>People</h1>
<ul>
<li><a href="xml/Andy.xml">Andy</a></li>
<li><a href="xml/Richard.xml">Richard</a></li>
<li><a href="xml/Jeremy.xml">Jeremy</a></li>
</ul>
<div id="details"></div>
//POST XML
$(function(){
$("a").click(function(){
var url = this.href;
var args = {"time":new Date()};
$.post(url,args,function(date){
var name = $(date).find("name").text();
$("#details").empty().append("<h2><a href=''>"+name+"</a></li>");
});
return false;
})
})
<h1>People</h1>
<ul>
<li><a href="xml/Andy.xml">Andy</a></li>
<li><a href="xml/Richard.xml">Richard</a></li>
<li><a href="xml/Jeremy.xml">Jeremy</a></li>
</ul>
<div id="details"></div>
//JSON
$(function(){
$("a").click(function(){
var url = this.href;
var args = {"time":new Date()};
$.getJSON(url,args,function(data){
var name = data.person.name;
$("#details").empty().append("<h2><a href=''>"+name+"</a></li>");
});
return false;
})
})
<h1>People</h1>
<ul>
<li><a href="json/Andy.js">Andy</a></li>
<li><a href="json/Richard.js">Richard</a></li>
<li><a href="json/Jeremy.js">Jeremy</a></li>
</ul>
<div id="details"></div>
//jackson的使用
//jackson根据geter方法定位字段,可以在geter方法添加注解
//加入jar包(jackson-annotations-2.2.2、jackson-core-2.2.2、jackson-databind-2.2.2)
//创建ObjectMapper,调用writeValueAsString方法
List<Customer> customers = Arrays.asList(customer,new Customer("BCD", "2002"));
jsonString = objectMapper.writeValueAsString(customers);
System.out.println(jsonString);
//例
$(function(){
$(":input[name='username']").change(function(){
var val = $(this).val();
val = $.trim(val);
if(val != ""){
var url = "${pageContext.request.contextPath }/ValiateUserName";
var args = {"userName":val,"time":new Date()};
$.post(url,args,function(data){
$("#message").html(data);
});
}
});
})
<form action="" method="post">
UserName:<input type="text" name="username"/>
<br>
<div id="message"></div>
<br>
<input type="submit" value="Submit"/>
</form>
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<String> userNames = Arrays.asList("AAA","BBB","CCC");
String userName = request.getParameter("userName");
String result = null;
if(userNames.contains(userName)){
result = "<font color='red'>该用户名已被使用</font>";
}else{
result = "<font color='GREEN'>该用户名可以使用</font>";
}
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.getWriter().print(result);
}
//例
$(function(){
var isHasCart = "${sessionScope.sc == null}";
//alert(isHasCart);
if(isHasCart == "true"){
$("#cartstatus").hide();
}else{
$("#cartstatus").show();
$("#bookName").text("${sessionScope.sc.bookName}");
$("#totalBookNumber").text("${sessionScope.sc.totalBookNumber}");
$("#totalMoney").text("${sessionScope.sc.totalMoney}");
}
$("a").click(function(){
$("#cartstatus").show();
var url = this.href;
var args = {"time":new Date()};
$.getJSON(url,args,function(data){
$("#bookName").text(data.bookName);
$("#totalBookNumber").text(data.totalBookNumber);
$("#totalMoney").text(data.totalMoney);
});
return false;
});
})
<div id="cartstatus">
您已经将 <span id="bookName"></span> 加入到购物车,
购物车中的书有 <span id="totalBookNumber"></span>
本,总价格 <span id="totalMoney"></span> 钱。
</div><br><br>
Java <a href="addToCart?id=Java&price=100">加入购物车</a>
<br><br>
Oracle <a href="addToCart?id=Oracle&price=200">加入购物车</a>
<br><br>
Struts <a href="addToCart?id=struts&price=100">加入购物车</a>
<br><br>
public class AddToCartServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String bookName = request.getParameter("id");
int price = Integer.parseInt(request.getParameter("price"));
HttpSession session = request.getSession();
ShoppingCart sc = (ShoppingCart) session.getAttribute("sc");
if(sc==null ){
sc = new ShoppingCart();
session.setAttribute("sc", sc);
}
sc.addToCart(bookName , price);
StringBuilder result = new StringBuilder();
result.append("{")
.append("\"bookName\":\""+bookName+"\"")
.append(",")
.append("\"totalBookNumber\":"+sc.getTotalBookNumber())
.append(",")
.append("\"totalMoney\":"+sc.getTotalMoney())
.append("}");
response.setContentType("text/javascript");
response.getWriter().print(result.toString());
}
}
public class ShoppingCartItem {
private int number;
private String bookName;
private int price;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
public class ShoppingCart {
private Map<String, ShoppingCartItem> items = new HashMap<String, ShoppingCartItem>();
private String bookName;
public void addToCart(String bookName,int price){
this.bookName = bookName;
if(items.containsKey(bookName)){
ShoppingCartItem item = items.get(bookName);
item.setNumber(item.getNumber()+1);
}else {
ShoppingCartItem item = new ShoppingCartItem();
item.setBookName(bookName);
item.setPrice(price);
item.setNumber(1);
items.put(bookName, item);
}
}
public int getTotalBookNumber(){
int total = 0;
for(ShoppingCartItem item:items.values()){
total += item.getNumber();
}
return total;
}
public String getBookName() {
return bookName;
}
public int getTotalMoney(){
int money = 0;
for(ShoppingCartItem item:items.values()){
money += item.getNumber() * item.getPrice();
}
return money;
}
}
//例
$("#city").change(function(){
$("#department option:not(:first)").remove();
var city = $(this).val();
//alert(city);
if(city != ""){
var url = "EmployeeServlet?method=listDepartments";
var args = {"locationId":city,"time":new Date()};
$.getJSON(url,args,function(data){
if(data.length == 0){
alert("当前城市没有部门!");
}else{
for(var i=0;i<data.length;i++){
var deptId = data[i].departmentId;
var deptName = data[i].departmentName;
$("#department").append("<option value='"+deptId+"'>"+deptName+"</option>");
}
}
})
}
});
<center>
<br><br>
City:
<select id="city">
<option value="">请选择...</option>
<c:forEach items="${locations}" var="location">
<option value="${location.locationId}">${location.city }</option>
</c:forEach>
</select>
<br>
<br>
Department:
<select id="department">
<option value="">请选择...</option>
</select>
<br>
<br>
Employee:
<select>
<option value="">请选择...</option>
</select>
<br><br>
<table id="empdetails" border="1" cellspacing="0" cellpadding="5" style="display:none">
<tr>
<th>Id<th>
<th>Name<th>
<th>Email<th>
<th>Salary<th>
</tr>
<tr>
<th id="id"><th>
<th id="name"><th>
<th id="email"><th>
<th id="salary"><th>
</tr>
</table>
</center>
转载于:https://my.oschina.net/MoreYoungGavin/blog/668019