Ajax原理回顾
来源:互联网 发布:时代大数据 编辑:程序博客网 时间:2024/06/15 15:32
Ajax学名叫异步Javascript和Xml,核心对象是Javascript的XmlHttpRequest,XmlHttpRequest对象可以向服务器提交用户信息,并获得处理响应和返回处理结果页面。通过这个对象,Javascript可以在不重载这个页面的情况下实现与服务器交换数据。这样AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。另外Ajax不是一个单一的技术,是多种技术的综合,包含XML、XHTML、DOM、CSS、XSLT、XmlHttpRequest等技术,XHTML+CSS用户网页的显示,调用DOM可以动态的对网页进行交互,XSLT+XML用于数据的传输和交换,XmlHttpRequest用于异步数据的提交、检索等。
XmlHttpRequest对象的主要属性如下。
onreadystatechange表示每次状态发生改变时触发的处理函数;
responseText表示从服务器返回的字符串形式;
responseXML表示从服务器返回的打包的xml数据信息对象;
status表示从服务器返回的数字状态,比如404表示未找到,200表示已就绪;
status Text表示伴随状态码的状态信息;
readyState表示对象状态值:
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化) 对象已建立,尚未调用send方法
2 (发送数据) send方法已调用,但是当前的状态及http头未知
3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (完成) 数据接收完毕,此时可以通过通过responseXml和responseText获取完整的回应数据
function CreateXmlHttp() {
//非IE浏览器创建XmlHttpRequest对象
if (window.XmlHttpRequest) {
xmlhttp = new XmlHttpRequest();
}
//IE浏览器创建XmlHttpRequest对象
if (window.ActiveXObject) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
}
catch (ex) { }
}
}
}
function Ustbwuyi() {
var data = document.getElementById("username").value;
CreateXmlHttp();
if (!xmlhttp) {
alert("创建xmlhttp对象异常!");
return false;
}
xmlhttp.open("POST", url, false);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
document.getElementById("user1").innerHTML = "数据正在加载...";
if (xmlhttp.status == 200) {
document.write(xmlhttp.responseText);
}
}
}
xmlhttp.send();
}
此文感谢Eric Sun的Ajax原理,有部分参阅,他的博客地址:http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html
- Ajax原理回顾
- AJAX回顾
- ajax回顾
- ajax回顾
- ajax回顾
- AJAX回顾基础知识总结
- servlet + ajax 回顾
- Ajax的回顾
- JAVA基础原理回顾
- Ajax基础(XMLHttpRequest对象)回顾
- 原生态js ajax回顾
- 知识回顾之什么是Ajax?
- Ajax原理
- Ajax原理
- ajax原理
- ajax原理
- Ajax原理
- Ajax 原理
- openfire 集群原理说明
- CREATE TRIGGER
- HTML请求头属性
- SQLite创建触发器 CREATE TRIGGER
- 592 - Island of Logic
- Ajax原理回顾
- jquery过滤器的使用
- appwidget实例 AppWidget开发实例 [复制链接]
- 防止表格或DIV布局的网页页面被撑大的方法
- python中的 @ 修饰符
- 古老的Delphi 6调用C#开发的简单WebService
- 截取视频中的音频.
- java web开发之安全事项
- AppWidget开发实例讲解(二)