什么是AJAX?
AJAX全称为Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),使用Javascript语言与服务器进行异步交互,传输的数据为XML(还有别的)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
如果没有Ajax技术,改变网页的一小部分都需要重新加载一次整个页面,而有了Ajax之后,就可以实现在网页不跳转不刷新的情况下,在网页后台提交数据,部分更新页面内容。
怎样实现AJAX?
实现AJAX可以分为以下几步:
-
创建XMLHttpRequest对象(创建异步调用对象)。
variable=new XMLHttpRequest(); -
创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息。
使用 XMLHttpRequest 对象的 open() 和 send() 方法:open(): method:请求的类型;GET 或 POST; url:文件在服务器上的位置; async:true(异步)或 false(同步); send(): string:仅用于 POST 请求
-
设置响应HTTP请求状态变化的函数
使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。responseText:获得字符串形式的响应数据。 responseXML:获得 XML 形式的响应数据。
-
发送HTTP请求。
-
获取异步调用返回的数据。
-
使用JavaScript和DOM实现局部刷新。
注意:
如果您的网站上存在多个 AJAX 任务,那么您应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。同时该函数调用应该包含 URL 以及发生 onreadystatechange 事件时执行的任务(每次调用可能不尽相同)。
每当 readyState 改变时,就会触发 onreadystatechange 事件。
XMLHttpRequest 对象的三个重要的属性:
onreadystatechange;readyState;status
写在最后的小结
我们知道AJAX可以减少刷新,使响应更快,减轻服务器负担的同时还增强用户体验;但是缺陷也同样明显,后退无法操作,会影响程序的异常处理机制,甚至安全性很差,极易被攻击。AJAX当然不是完美的,所以我们要善于运用它适合的运行环境。