AJAX实用教程——总结

         经过前两篇教程,相信读者对AJAX实际应用有了一定体会,这篇文章就来总结一下AJAX常用技术。

        

         使用AJAX流程:

        

         l  根据浏览器类型创建XMLHttpRequest对象。

         l  设置XMLHttpRequest对象的回调函数,onreadystatechange属性。

         l  创建连接,open方法。

         l  设置Http头信息,setRequestHeader方法。

         l  请求数据,send方法。

         XMLHttpRequest类常用方法、属性说明:

         onreadystatechange方法:设置异步响应回调函数,每当响应状态发生变化时,都将调用此函数,具体是指readyState的值变化。

         open方法:创建请求连接。第一个参数是请求方式,POST或GET;第二个参数是请求的URL,当为GET方式时,URL上可以加参数;第三个参数为是否异步请求,ture为异步。

         setRequestHeader方法:设置请求的头部信息。第一个参数是头信息名称,第二个参数是头信息值。

         send方法:发送请求。当请求为POST方式时,send方法的参数即POST的参数。

         responseText属性:获取服务器端返回的文本格式数据。一般在回调函数中使用。

         responseXML属性:获取服务器端返回的xml格式数据。一般在回调函数中使用。

         readyState属性:当异步请求发生时,此值会随着请求进展不断变化。

                  0: 请求未初始化;

                  1: 服务器连接已建立;

                  2: 请求已接收;

                  3: 请求处理中;

                  4: 请求已完成,且响应已就绪

         status属性:请求结果。

                  200: "OK"

                  404: 未找到页面

         Javascript操作xml常用方法、属性说明:

         getElementsByTagName方法:根据元素(标签)名称获取元素,返回一个数组,即使元素只出现一次,也返回一个数组,只不过数组只有一个元素而已。参数是元素名称。

         getElementById方法:根据id获取元素。参数是元素id,由于id唯一,因此该方法只返回一个元素。

         getAttribute方法:获取元素的某个属性值。参数是属性名称。

         setAttribute方法:设置元素的某个属性值。参数是属性名称。

         createElement方法:创建一个元素。参数是元素名称,如果成功创建,此方法会返回返回元素对象。

         appendChild方法:插入子元素。参数是通过createElement方法创建的元素对象。

         removeChild方法:删除子元素。参数可以是通过getElementsByTagName或getElementById方法获得的元素对象。

         firstChild属性:获取第一个子元素。

         childNodes属性:子元素数组。例如:childNodes[i],获取第i个子元素;childNodes.length获取所有子元素个数。

         nodeValue属性:获取/设置元素值。注意元素值与属性值的区别。

        

         小菜还要提醒读者,涉及到xml的操作,一定要特别注意客户端和服务器的编码、解析格式等。假如客户端要获取xml格式的数据,服务器端必须设置ContentType为”text/xml”另外,交互时传递的xml数据格式一定要规范,否则很可能造成获取失败。

         AJAX的基本知识就这些,掌握这些基本的知识,足以应付一般的需求。

         其实,AJAX有时候不是那么完美,现在比较流行的在线客服,在网页里边聊天,小菜以为用AJAX实现可以实现推送的效果,实际上是不可以的,只能不停的从服务器拿数据。

         小菜水平有限,本教程仅供参考!有错误之处欢迎指正!

         好了,教程到此结束!欢迎和我多多交流!祝读者学习愉快!

原文地址:https://www.cnblogs.com/iyangyuan/p/2858204.html