1. AJAX是什么?
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),
基于 JavaScript 和 HTTP 请求(HTTP requests)。
AJAX 不是一种新的编程语言,而是一种使用现有标准的新方法,
是一种在 2005 年由 Google 推广开来的编程模式, 用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。
这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
通过 AJAX,你可以创建更好、更快以及更友好的 WEB 应用程序。
2. 创建 XMLHttpRequest 对象
XMLHttpRequest 是 AJAX 的基础。
XMLHttpRequest 对象
所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
XMLHttpRequest 用于在后台与服务器交换数据。
这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject :
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
3. 向服务器发送请求
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
xmlhttp.open("GET","test1.txt", true); // GET 或 POST, url, true(异步)或 false(同步)
xmlhttp.send(); // 将请求发送到服务器, send()在POST时,可以带String参数,参数值为表单数据
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:
a. 无法使用缓存文件(更新服务器上的文件或数据库)
b. 向服务器发送大量数据(POST 没有数据量限制)
c. 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
POST方式带参数的例子:
xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Bill&lname=Gates");
当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数:
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState,存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
status
200: "OK"
404: 未找到页面
服务器响应
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。
参考文档:
http://www.w3school.com.cn/ajax/index.asp
分享到:
相关推荐
了解vue
W3CSchool(全套教程最新W3CSchool(全套教程最新W3CSchool(全套教程最新W3CSchool(全套教程最新W3CSchool(全套教程最新W3CSchool(全套教程最新W3CSchool(全套教程最新W3CSchool(全套教程最新W3CSchool(全套...
常用web开发工具 w3cschool菜鸟教程20141021常用web开发工具 w3cschool菜鸟教程20141021常用web开发工具 w3cschool菜鸟教程20141021常用web开发工具 w3cschool菜鸟教程20141021常用web开发工具 w3cschool菜鸟教程...
w3cschool离线版教程chm版本2017年11月5号更新。包含w3cschool的全部内容
w3cschool菜鸟教程离线版( 完整 ) chm javascript html等等
W3CSchool W3CSchool W3CSchool 离线文档,很全,即使没网络也可以使用
w3cschool菜鸟教程(w3cschool.cc).7z
W3Cschool离线版PC客户端是www.w3cschool.cn网站官方推出的正版客户端。我们是一个专业的编程入门学习及技术文档查询应用,提供包括HTML,CSS,...W3Cschool离线版PC客户端是为了满足用户能够离线学习编程知识。
W3cschool 离线手册
W3CSchool全套教程,涵盖w3cschool全套在线教程。
w3cschool菜鸟教程
这是一个纯html的w3cschool源码,不需要数据库,只需要一个web空间您就可以拥有一个和w3cschool官网一样的网站!
w3cschool官方手册离线版,最新中文版 w3cschool官方手册离线版,亲测可用
w3cschool菜鸟教程离线版目录: HTML / CSS 学习 HTML 学习 HTML5 学习 CSS 学习 CSS3 学习 Bootstrap ASP.NET 学习 ASP.NET 学习 C# 学习 Web Pages 学习 Razor 学习 MVC 学习 Web Forms JavaScript 学习 ...
W3Cschool.chm 学习手册包含: HTML 4.01 XHTML 1.0 HTML 5 CSS 2.0 JavaScript VBScript HTML DOM XML DOM ASP ADO ASP.NET PHP 5.1 XSLT 1.0 XPath 2.0 XSL-FO WML 1.1 HTML 颜色
w3cSchool文档w3cSchool文档w3cSchool文档w3cSchool文档w3cSchool文档w3cSchool文档w3cSchool文档w3cSchool文档
w3cschool菜鸟教程,web开发,开发文档
w3cschool离线手册,不需上官网,不需联网,随时查看(前端必备)。
w3cschool菜鸟教程(http://www.w3cschool.cc/)是一个提供了最全的的web技术基础教程网站。网站包含了HTML教程、CSS教程、Javascript教程、PHP教程等各种建站基础教程。同时也提供了大量的在线实例,通过实例,您可以...
W3CSchool使用手册chw格式;W3CSchool使用手册chw格式;W3CSchool使用手册chw格式;