ajax原理以及优缺点是什么?

更新时间:2024-08-15 15:33:00

Ajax指Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。而实现的原理基础就是:网页DOM对象可以精确地对网页中的部分内容进行操作、XML作为单纯的数据存储载体使得客户端与服务器交换的只是网页内容的数据而没有网页样式等等的附属信息、XMLHttpRequest是与浏览器本身内置的request相互独立的与服务器交互的请求对象。

网页应用Ajax与服务器交互的抽象过程如下图:

过程详解:

1: 要使用Ajax技术,基础中的基础,就是要创建一个XMLHttpRequest对象,无它就没有异步传输的可能:

var xmlhttp;

if (window.XMLHttpRequest) { //检查浏览器的XMLHttpRequest属性,如果为真则支持XMLHttpRequest

// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码

xmlhttp=new XMLHttpRequest();

} else {

// IE6, IE5 浏览器执行代码

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

2:在网页中为某些事件的响应绑定异步操作:通过上面创建的xmlhttp对象传输请求、携带数据。在发出请求前要先定义请求对象的method、要提交给服务器中哪个文件进行请求的处理、要携带哪些数据、是否异步。

其中,与普通的request提交数据一样,这里也分两种方法:GET/POST

xmlhttp.open("GET","/try/ajax/demo_get2.php?fname=Henry&lname=Ford",);

xmlhttp.send();

xmlhttp.open("POST","/try/ajax/demo_post2.php","Content-type","application/x-www-form-urlencoded");

xmlhttp.send("fname=Henry&lname=Ford");

3:服务器收到请求后,把附带的数据作为输入传给处理请求的文件,例如这里:把fname=Henry&lname=Ford作为输入,传给 /try/ajax/demo_get2.php 这个文件。然后文件根据传入的数据做出处理,最终返回结果,通过response对象发回去。客户端根据xmlhttp对象来获取response内容,然后调用DOM对象根据response内容来局部修改网页内容。

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)//请求处理完毕且状态为成功

{

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;//用response内容来修改DOM中的元素的内容

}

其中,response的类型有两种:字符串类型和XML文本。两种回应的不同提取如下:

responseText 属性返回字符串形式的响应:

document.getElementById("myp").innerHTML=xmlhttp.responseText;

如果来自服务器的响应是 XML,需要作为 XML 对象进行解析,使用 responseXML :

xmlDoc=xmlhttp.responseXML; //获取服务器响应的XML文本并转换得到XMLDOM对象

txt="";

x=
xmlDoc.getElementsByTagName("ARTIST");//通过XMLDOM对象调用方法来获取XML对象中的内容

for (i=0;i<x.length;i++) {

txt=txt + x[i].childNodes[0].nodeValue + "<br>"; }

document.getElementById("myDiv").innerHTML=txt;//把获取到的内容通过document对象更新到网页内容去容去

相关推荐

墙上挂网多少钱

墙上挂网的价格因多种因素而异,包括挂网的类型、材料、施工难度以及所在地区的不同。以下是一些具体的价格信息:一般价格范围墙面挂网的价格大约在每平方米6元至10元之间。某些情况下,价格可能会在每平方米100元以上。具体价格因素材料:钢丝网通常比塑料网贵一些。施工难度:如果墙面状况较差,需要大量修补和处理

2025-02-01 09:19:22

课桌大约长多少米

课桌的长度并没有一个统一的标准,但根据常见的课桌尺寸信息,可以得出以下结论:一般情况下,课桌的长度约为1.2米。课桌的长度通常在1.2米到1.5米之间。特定类型课桌长度,例如单人课桌长度通常在65厘米到75厘米之间,双人课桌长度可能在1.1米到2米之间。一般中小学双人课桌长度约1米至1米3之间。综合

2025-02-01 09:16:22

最佳桌子高度是多少

桌子高度的最佳选择取决于使用者的身高和使用环境。以下是一些常见建议:一般适用高度71厘米至75厘米:这是一个较为普遍接受的高度范围,适合大多数人使用,可以保证坐着不会感到难受,便于学习、工作和吃饭等日常活动。根据使用者身高调整学生书桌:可以根据学生的身高来调整桌子的高度,确保书写姿势正确。餐桌:根据

2025-02-01 09:12:55

被褥干洗多少钱

被褥的干洗费用 因多种因素而异,包括被子的尺寸、材质、重量以及干洗店的类型和档次。以下是一些具体的价格范围:普通干洗店价格通常在20元到50元之间,具体费用取决于被子的尺寸和材质。中档干洗店价格在30元到80元之间,一些高档的被子如羊绒被或羽绒被可能需要支付更高的费用。高档干洗店价格在60元到100

2025-02-01 09:08:22

打印征信费用多少

打印征信报告的费用如下:前两次免费:如果是在一年之内,前两次打印征信报告是免费的。第三次起收费:从第三次开始,每次打印征信报告需要支付20元到25元的费用。费用差异:不同城市的收费标准可能会有所不同,但一般情况下,费用大约在20元到30元之间。额外费用:如果需要更频繁地查询或获取详细的信用信息,个别

2025-02-01 07:42:54