Ajax = Asynchronous javascript and XML
Ajax 不是一种新的编程语言,而是使用现有技术的新标准。
Ajax 是在不重新加载整个页面的情况下,实现与服务器的数据交互并更新部分页面。
起源:
Google Suggest:当你在Google搜索框上输入关键字时,JavaScript会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。
原理:
XMLHttpRequest对象是Ajax的基础,用于在Browser后台与服务器交换数据。
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE5, 6
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
然后发送请求:
// true: async = true;
xmlhttp.open("GET/POST", url, true);
// send(string), string is only enabled when you use POST requset.
xmlhttp.send(null);
你有可能请求到缓存中的数据,为了避免这种情况,应在url后面加上 + Math.random()。
然后服务器响应:
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// codes after response
}
}
<%
dim fname,city
fname=Request.Form("name")
city=Request.Form("city")
Response.Write("Dear " & fname & ". ")
Response.Write("Hope you live well in " & city & ".")
%>
Ajax = Asynchronous javascript and XML Ajax 不是一种新的编程语言,而是使用现有技术的新标准。 Ajax 是在不重新加载整个页面的情况下,实现与服务器的数据交互并更新部分页面。
起源:
Google Suggest:当你在Google搜索框上输入关键字时,JavaScript会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。
原理:
XMLHttpRequest对象是Ajax的基础,用于在Browser后台与服务器交换数据。
然后发送请求:
你有可能请求到缓存中的数据,为了避免这种情况,应在url后面加上 + Math.random()。
然后服务器响应:
解释: 每当 readyState 改变时,就会触发 onreadystatechange 事件。readyState有5种状态,所以onreadystatechange函数在整个请求过程中会被调用5次。 如下所示:
而status有以下两种状态:
如果要获取服务器相应的内容,我们可以使用XMLHttpRequest对象的responseText和responseXML属性。
在实际开发过程中,我们一般使用回调函数callback的方法调用onreadystatechange:
jQuery中的Ajax:
编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同。这意味着您必须编写额外的代码对浏览器进行测试。不过,jQuery 团队为我们解决了这个难题,我们只需要一行简单的代码,就可以实现 AJAX 功能。
ajax方法(常用):
load方法:
load() 方法从服务器加载数据,并把返回的数据放入被选元素中。
必需的 URL 参数规定您希望加载的 URL。 可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。 可选的 callback 参数是 load() 方法完成后所执行的函数名称。
get方法:
asp文件:
post方法:
asp文件: