AJAX入门
2008-01-08 12:42
162 查看
1. AJAX概述。
1.1什么是AJAX。
1.2 为什么使用AJAX?
1.2.1 传统web应用的不足
1.2.2 AJAX对于请求的处理
1.2.3AJAX的优势
1.2.4AJAX能干什么?
1.3 AJAX的工作原理
2.AJAX 实例讲解
2.1类、属性和方法
var req; if(window.ActiveXObject) ...{ req = new ActiveXObject("Microsoft.XMLHTTP"); //IE创建方式 }else...{ req = new XMLHttpRequest(); } 由于IE是以ActiveX对象引入的,所以我们要检测是否支持 ActiveXObject来判断用户使用的是否为IE。(2)属性responseText、responseXML、onreadystatechange 、readyState和status是XMLHttpRequest类的主要属性。responseText:用于接受服务器返回的字符串。responseXML:用于接受服务器返回的XML文件。onreadystatechange:处理请求的方法的名字。一般用匿名方法实现。readyState: 用于判断交互状态0 (未初始化) 1 (正在装载) 2 (装载完毕) 3 (交互中) 4 (完成)。status:一般用来返回服务器的HTTP状态码,status为200表示“成功”,status为404代表“页面未找到”。(3)方法req.open('GET', URL, true);open()的第一个参数是HTTP请求方式—GET,POST或任何服务器所支持的您想调用的方式。 按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求。第二个参数是请求页面的URL。第三个参数设置请求是否为异步模式。如果是TRUE,JavaScript函数将继续执行,而不等待服务器响应。req.send(null);发送参数如果有参数req.send("username="+user_name);用request取得。2.2实例验证用户名是否存在。
<body> <html:form action="/register" onsubmit="return sub()"> <table> <tr> <td> 用户名 </td> <td valign="top"> <html:text property="name" onchange="nameChange()" /> </td> <td valign="top"> <div id="name1"> <font size="2">*用户名在5-50位之间</font> <div> </td> </tr> </table> <html:submit value="注册" /> </html:form> </body></html> 第二步:书写AJAX代码。 在页面的head中加入以下代码:<SCRIPT LANGUAGE="JavaScript"> function nameChange()...{ if(document.all.name.value=="")...{ document.all.name1.innerHTML="<font size=2 color=red>!用户名不合法,不可以为空</font>"; return false; }else...{ if(document.all.name.value.length<5||document.all.name.value.length>50)...{ document.all.name1.innerHTML="<font size=2 color=red>!用户名不合法,必须在5-50位之间</font>"; return false; }else...{ var req; if(window.ActiveXObject) ...{ req = new ActiveXObject("Microsoft.XMLHTTP"); }else...{ req = new XMLHttpRequest(); } if (req) ...{ req.onreadystatechange=function() ...{ if (req.readyState==4 && req.status==200) ...{//判断状态,4是已发送,200已完成 if(req.responseText==0)...{ document.all.name1.innerHTML="<font size=2 color=blue>用户名可以正常使用!~</font>"; return true; }else if(req.responseText==1)...{ document.all.name1.innerHTML="<font size=2 color=red>!用户名已经被占用</font>"; return false; }else...{ document.all.name1.innerHTML="<font size=2 color=blue>正在查询。。~</font>"; return false; } } } req.open('POST', 'register.do?test=1&name='+document.all.name.value); req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); req.send(""); //发送参数如果有参数req.send("username="+user_name);用request取得 } } } }第二步:在register.do 中加入相应代码。 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) ...{ RegisterForm registerForm = (RegisterForm) form;// TODO Auto-generated method stub ActionForward af=new ActionForward(); UserDao ud=new UserDao(); if(registerForm.getName()==null)...{ af=mapping.getInputForward(); }else...{ if("1".equals(request.getParameter("test")))...{ //验证用户名的代码。 try ...{ PrintWriter out = response.getWriter(); //在这里可以根据从数据库中查询的数据返回不同的值。1:用户存在,0:用户不存在 if(ud.getUserByName(request.getParameter("name")))...{ out.print(1); //ajax取得都是字符的输出。如果数据量大的话,还可以用xml来发送和接受 }else...{ out.print(0); } return null; //注意:这里必须return null 否则页面接收不到返回值。 } catch (IOException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } }else...{ //正常注册的代码。 User u=new User(); u.setName(registerForm.getName()); u.setPassword(registerForm.getPwd()); u.setSex(registerForm.getSex()); ud.save(u); } } return af; }相关文章推荐
- AJAX入门之XMLHttpRequest慨述
- Ajax入门
- Ajax入门(一)
- ajax入门 ajax使用方式2-ajax基础
- 原生AJAX入门讲解(含实例)
- asp.net里AjaxPro简单入门教程
- ajax入门例子
- AJAX实例入门
- ASP.NET MVC 入门11、使用AJAX 【转】
- 使用jQuery简化Ajax开发——Ajax开发入门[1]
- ajax入门,jQuery+ashx (一)
- Ajax.Net快速入门
- AJAX入门2
- AJAX技术简介及入门实例
- flask入门的教程-Ajax
- ASP.NET AJAX入门系列 --zt terryLee
- 学习ajax很好的入门教程--使用 JavaScript 和 Ajax 发出异步请求
- net 版 ajax 入门
- AJAX技术入门 第二节 XMLHttpRequest对象的使用
- jQuery入门[5]-AJAX