AJAX学习整理一
从一进入这个IT行业的时候就经常听人们提及Ajax技术,当时一直由于其它原因没能学过。但是后来在学习基于jquery封装的Easyui框架时,里面有提及到ajax的方法,当时就直接用了也没往太深处想,现在有机会了,我要好好探一探究竟。以下内容是我从网上搜索后整理的,菜鸟见解,如有不对之处还望各路大神指正,先谢之。 1.AJAX 是什么?AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML,别问我什么是异步,自己百度去)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。 在不使用ajax的网页中,如果想更新数据的话,会重新加载这个页面,当然使用后就不一样了。 2.AJAX的核心处理技术XMLHttpRequest 对象核心处理对象XMLHttpRequest是一个浏览器内置的组件,最早出现在IE4里面。所有现代浏览器均支持 XMLHttpRequest 对象,只不过IE5和IE6使用的组件叫做 ActiveXObject。 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。 创建 XMLHttpRequest 对象创建 XMLHttpRequest 对象的语法:variable=newXMLHttpRequest(); 老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:variable=newActiveXObject("Microsoft.XMLHTTP"); 我在网上看到别人博客里面有另一种写法(不知道区别在哪儿,先记录上+_+):IE5之前varxmlreq=ActionXObject("Microsoft.XMLHTTP"); IE5之后varxmlreq=ActionXObject("Msxml2.XMLHTTP"); 为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject : varxmlhttp; if(window.XMLHttpRequest) {//codeforIE7+,Firefox,Chrome,Opera,Safari xmlhttp=newXMLHttpRequest(); } else {//codeforIE6,IE5 xmlhttp=newActiveXObject("Microsoft.XMLHTTP"); } 3.常用方法及属性是一个浏览器内置的组件,最早出现在IE4里面。所有现代浏览器均支持 XMLHttpRequest 对象,只不过IE5和IE6使用的组件叫做 ActiveXObject。 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。 常用方法:
常用属性:
4.AJAX的开发步骤(1) 创建XMLHttpRequest对象 创建时要判断一下当前浏览器是否支持XMLHttpRequest对象 varxmlhttp; if(window.XMLHttpRequest) {//codeforIE7+,IE5 xmlhttp=newActiveXObject("Microsoft.XMLHTTP"); } (2) 创建完对象后,使用xmlhttp.open(method,urlasync)方法指定要连接的服务器代码和请求提交方法 xmlhttp.open("GET","test1.txt"+Math.random(),true);//为了避免得到缓存结果,加上一个唯一id(GET) (3) 指定服务器完成后,处理服务器响应内容---回调函数 xmlhttp.onreadystatechange=function()//回调函数 { if(xmlhttp.readyState==4&&xmlhttp.status==200)//当调用成功时,所做的时间处理 { document.getElementById("XXX").innerHTML=xmlhttp.responseText;//把返回的文本内容赋给页面元素 } } (4) 使用xmlhttp.send()提交请求 xmlhttp.send(); 5.AJAX的方法详解(1).xmlhttp.open(method,url,async); 描述: method:请求的类型:GET或POST
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。 然而,在以下情况中,请使用 POST 请求:
一个简单的 GET 请求: xmlhttp.open("GET","demo_get.asp",true); xmlhttp.send(); 在上面的例子中,您可能得到的是缓存的结果。 为了避免这种情况,请向 URL 添加一个唯一的 ID: 如果您希望通过 GET 方法发送信息,请向 URL 添加信息:
(2)onreadystatechange 事件(POST方式请求时,一般GET方式就直接把成功后执行的程序放在send方法后面即可)触发条件:每当 readyState 改变时,就会触发 onreadystatechange 事件。
好吧,这篇先整理到这儿,感谢w3school网站学习资料,也感谢别人的学习资料:http://blog.163.com/magicc_love/blog/static/18585366220129841216712/, 下一篇详细整理一下ajax的应用实例。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |