摘抄:http://www.cnblogs.com/yuanchenqi/articles/5997456.html
二 什么是AJAX
AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。
- 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
- 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。
AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程)
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title><script type="text/javascript">window.onload = function() {//当文档加载完毕时执行本函数 ???var form = document.getElementById("form1");//获取表单元素对象 ???form.onsubmit = function() {//给表单元素添加一个监听,监听表单被提交事件 ???????var usernameValue = form.username.value;//获取表单中名为username的表单元素值 ???????if(!usernameValue) {//判断该值是否为空 ???????????var usernameSpan = document.getElementById("usernameSpan");//得到usernmae元素后的<span>元素 ???????????usernameSpan.innerText = "用户名不能为空!";//设置span元素内容! ???????????return false;//返回false,表示拦截了表单提交动作 ???????} ???????return true;//不拦截表单提交动作 ???};};</script></head> <body><h1>注册页面</h1><form action="" method="post" id="form1">用户名:<input type="text" name="username"/><span id="usernameSpan"></span><br/>密 码:<input type="password" name="password"/><span id="passwordSpan"></span><br/><input type="submit" value="注册"/></form> ?</body></html>js实现的局部刷新
AJAX的优缺点
优点:
- AJAX使用Javascript技术向服务器发送异步请求;
- AJAX无须刷新整个页面;
- 因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高;
缺点:
- AJAX并不适合所有场景,很多时候还是要使用同步交互;
- AJAX虽然提高了用户体验,但无形中向服务器发送的请求次数增多了,导致服务器压力增大;
- 因为AJAX是在浏览器中使用Javascript技术完成的,所以还需要处理浏览器兼容性问题;
AJAX技术
四步操作:
- 创建核心对象;
- 使用核心对象打开与服务器的连接;
- 发送请求
- 注册监听,监听服务器响应。
XMLHTTPRequest
- open(请求方式, URL, 是否异步)
- send(请求体)
- onreadystatechange,指定监听函数,它会在xmlHttp对象的状态发生变化时被调用
- readyState,当前xmlHttp对象的状态,其中4状态表示服务器响应结束
- status:服务器响应的状态码,只有服务器响应结束时才有这个东东,200表示响应成功;
- responseText:获取服务器的响应体
ajax异步请求
原文地址:http://www.cnblogs.com/Mjonj/p/7700062.html