基础知识
AJAX
- AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新。
- AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
- Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
- 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。
- 这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
- 传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。
异步和同步
- 同步
- 客户端和服务器端相互通信的基础上,客户端必须等待服务器端的响应。
- 在等待的期间客户端不能做其他操作。
- 异步
- 客户端和服务器端相互通信的基础上,客户端不需要等待服务器端的响应。
- 在服务器处理请求的过程中,客户端可以进行其他的操作。
实现方式
JS实现方式(了解)
- 如果没有 jQuery,AJAX 编程还是有些难度的。
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/ajaxServlet?fname=Henry&lname=Ford",true);
xmlhttp.send();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var responseText = xmlhttp.responseText;
alert(responseText);
}
}
JQeury实现方式
- 通过 jQuery AJAX 方法,能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON
- 同时能够把这些外部数据直接载入网页的被选元素中。
$.ajax()
$.ajax({
url:"/ajaxServlet",
type:"POST",
data:{"fname":"Henry","lname":"Ford"},
success:function (responseData) {
alert(responseData);
},
error:function () {
alert("出错了!");
},
dataType:"text"
});
$.get()
$.get(
"/ajaxServlet",
{"fname":"Henry","lname":"Ford"},
function(data,status){
alert("数据: " + data + "\n状态: " + status);
},
"text"
}
$.post()
$.post(
"/ajaxServlet",
{"fname":"Henry","lname":"Ford"},
function(data,status){
alert("数据: " + data + "\n状态: " + status);
},
"text"
}