AJAX全称为“Asynchronous javascript and XML”(异步javascript和XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
为什么要使用AJAX? AJAX的优势?
- AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。
- 使用Javascript向服务器提出请求并处理响应而不阻塞用户!核心对象XMLHTTPRequest。通过这个对象,您的 JavaScript 可在不重载页面的情况与Web服务器交换数据。
- AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
- AJAX 可使因特网应用程序更小、更快,更友好。
- AJAX 是一种独立于 Web 服务器软件的浏览器技术。 AJAX 基于下列 Web 标准:JavaScript、XML、HTML、CSS在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。
- Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。
- 不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过 AJAX,因特网应用程序可以变得更完善,更友好。
Ajax在JavaScript中的使用。
1. Get方式实现:
1 <script type="text/javascript"> 2 var xmlHttpRequest; 3 //创建XHR对象 4 function createXmlHttpRequest() { 5 // if(typefo(XMLHttpRequest)!='undifine') 6 if (window.ActiveXObject) { //如果是IE浏览器 7 return new ActiveXObject("Microsoft.XMLHTTP"); 8 } else if (window.XMLHttpRequest) { //非IE浏览器 9 return new XMLHttpRequest(); 10 } 11 } 12 13 //Ajax调用的方法 14 function AjaxClick() { 15 var url = "这里是你想要请求的URL,其中包括你的参数(?key1=value1&key2=value2)"; 16 //1.创建XMLHttpRequest组建 17 xmlHttpRequest = createXmlHttpRequest(); 18 //2.设置回调函数 19 xmlHttpRequest.onreadystatechange = ajaxCallBack; 20 //onreadystatechange。存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 21 //3.初始化XMLHttpRequest组建 22 xmlHttpRequest.open("GET", url, true); 23 24 //open(method,url,async),规定请求的类型、URL 以及是否异步处理请求。 25 //method:请求的类型;GET 或 POST 26 //url:文件在服务器上的位置 27 //async:true(异步)或 false(同步) 28 29 //GET方式请求可以设置浏览器不使用缓存,需加上下面这段 30 //xhr.setRequestHeader("If-Modified-Since", "0"); 31 32 //4.发送请求 33 xmlHttpRequest.send(null); 34 } 35 36 //回调函数 37 function ajaxCallBack() { 38 //readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。 39 //0: 请求未初始化 40 //1: 服务器连接已建立 41 //2: 请求已接收 42 //3: 请求处理中 43 //4: 请求已完成,且响应已就绪 44 45 //status 请求响应状态码 46 //200: "OK" 47 //404: 未找到页面 48 if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) { 49 //表示请求成功,且正常响应 50 51 //responseText 获得字符串形式的响应数据。 52 //responseXML 获得 XML 形式的响应数据。 53 var data = xmlHttpRequest.responseText; 54 55 //你具体的代码操作写在这里,如对请求响应的数据如何处理 56 } 57 } 58 </script>
2. Post方式实现:
1 <script type="text/javascript"> 2 var xmlHttpRequest; 3 //创建XHR对象 4 function createXmlHttpRequest() { 5 if (window.ActiveXObject) { //如果是IE浏览器 6 return new ActiveXObject("Microsoft.XMLHTTP"); 7 } else if (window.XMLHttpRequest) { //非IE浏览器 8 return new XMLHttpRequest(); 9 } 10 } 11 12 //Ajax调用的方法 13 function AjaxClick() { 14 var url = "这里是你想要请求的URL,不包括参数"; 15 //1.创建XMLHttpRequest组建 16 xmlHttpRequest = createXmlHttpRequest(); 17 //2.设置回调函数 18 xmlHttpRequest.onreadystatechange = ajaxCallBack; 19 //3.初始化XMLHttpRequest组建 20 xmlHttpRequest.open("POST", url, true); 21 //4.添加请求头: 22 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 23 //5.发送请求,send("这里是你的请求参数") 24 xmlHttpRequest.send("key1=value1&key2=value2"); 25 } 26 27 //回调函数 28 function ajaxCallBack() { 29 if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) { 30 var data = xmlHttpRequest.responseText; 31 32 //你具体的代码操作写在这里,如对请求响应的数据如何处理 33 } 34 } 35 </script>
如有不足,还希望大牛们指教。谢谢。