标签:
AJAX全称是Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,而传统的网页如果需要更新内容,必需重新加载整个页面。
1、创建对象
所有现代浏览器(IE7+、Firefox、Chrome、Safari以及Opera)均支持XMLHttpRequest对象,但IE5和IE6使用ActiveXObject,该对象用于在后台与服务器交换数据。
创建对象语法:
var xmlhttp = new XMLHttpRequest();
IE5和IE6创建对象语法:
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
2、向服务器发送请求
如需将请求发送到服务器,需要使用XMLHttpRequest对象的open()和send()方法。
open方法:
open(method,url,async)
GET与POST区别:
与POST相比,GET更简单也更快,并且在大部分情况下都能用。
但是,以下情况中,请使用POST请求:
3、服务器响应
如需获得来自服务器的响应,使用XMLHttpRequest对象的responseText或responseXML属性。
responseText 获得字符串形式的响应数据
responseXML 获得XML形式的响应数据
如果来自服务器的响应并非XML,请使用responseText属性
示例程序:
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
如果来自服务器的响应是XML,而且需要作为XML对象进行解析,请使用responseXML属性。
4、readyState状态
当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当readyState改变时,就会触发onreadystatechange事件。既当readyState属性改变时,就会调用onreadystatechange函数。
readyState的值与对应的含义:
5、AJAX完整示例
<html><!DOCTYPE html> <head> <script> function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } xmlhttp.open("POST","/cgi-bin/test.cgi?para=test&var='123'",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send(); } </script> </head> <body> <div id="myDiv"><h2>使用 AJAX 修改该文本内容</h2></div> <button type="button" onclick="loadXMLDoc()">修改内容</button> </body> </html>
版权声明:有不正确的地方,还望各位指正指导,Thanks!
标签:
原文地址:http://blog.csdn.net/a544258023/article/details/48094319