书签 分享 收藏 举报 版权申诉 / 38

类型Ajax学习笔记.docx

  • 文档编号:5796504
  • 上传时间:2023-01-01
  • 格式:DOCX
  • 页数:38
  • 大小:162.15KB

step2:

JS代码getNumber函数

functiongetNumber(){

varxhr=getXhr();

xhr.open('get','getNumber.do?

'+Math.random(),true);//若没随机数,则点链接不会变化

xhr.onreadystatechange=function(){

if(xhr.readyState==4){

vartxt=xhr.responseText;

$('d1').innerHTML=txt;

}

};

xhr.send(null);

}

step3:

Servlet中service方法中的if判断

if(action.equals("/getNumber")){

Randomr=newRandom();

intnumber=r.nextInt(10000);

System.out.println(number);

out.println(number);

}

1.8案例:

简易注册(使用Ajax进行相关验证,get请求)

step1:

编写myScript.js并放在js文件夹中

此处省略三个函数,详看1.2

functioncheck_username(){//检查用户名,get请求

varxhr=getXhr();//step1获得Ajax对象

//step2使用Ajax对象发送请求

xhr.open('get','check_username.do?

username='+$F('username'),true);

//绑定一个事件处理函数,里面的代码在状态改变时执行,且状态为4时执行if语句

xhr.onreadystatechange=function(){

if(xhr.readyState==4){

if(xhr.status==200){//服务器返回了正确的结果

//只有readyState为4时,Ajax对象才获得服务器返回的所有数据

4

Z

Ajax学习笔记

vartxt=xhr.responseText;

$('username_msg').innerHTML=txt;//利用服务器返回的数据更新页面

}else{//服务器运行出错

$('username_msg').innerHTML='验证出错';

}

}

};

$('username_msg').innerHTML='正在验证...';//模拟用户量较大的情况,显示正在验证

xhr.send(null);

}

functioncheck_number(){//检查验证码

varxhr=getXhr();

xhr.open('get','check_number.do?

number='+$F('number'),true);

xhr.onreadystatechange=function(){

if(xhr.readyState==4){

vartxt=xhr.responseText;

$('number_msg').innerHTML=txt;

}

};

xhr.send(null);

}

step2:

编写regist.jsp页面,get请求

注册

用户名:

onblur="check_username();"/>


真实姓名:

/>

验证码:

onblur="check_number();"/>

'+Math.random();"/>

;"onclick="$('img1').src='checkcode?

'+Math.random();">

看不清换一个


注意事项:

href="javascript:

;"相当于href="#",写成href="javascript:

;"一般要和onclick

事件一起使用,表示a元素不再指向一个地址,而是点击后触发一个事件。

step3:

ActionServlet中service方法

response.setContentType("text/html;charset=utf-8");

PrintWriterout=response.getWriter();

Stringuri=request.getRequestURI();

Stringaction=uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));

if(action.equals("/check_username")){

Stringusername=request.getParameter("username");

//

//

try{//模拟耗时操作

Thread.sleep(6000);}catch(InterruptedExceptione){e.printStackTrace();

}

5

Z

Ajax学习笔记

if(1==1){//模拟一个系统异常

thrownewServletException("someerror");

}

if(username.equals("常")){

out.println("已被占用");

}else{

out.println("可以使用");

}

}elseif(action.equals("/check_number")){

Stringnumber1=request.getParameter("number");

HttpSessionsession=request.getSession();

Stringnumber2=(String)session.getAttribute("number");

if(number1.equalsIgnoreCase(number2)){

out.println("验证码正确");

}else{

out.println("验证码错误");

}elseif(action.equals("/regist")){

//加上验证代码,比如检查用户名是否正确,验证码是否正确,此处略

System.out.println("注册成功");

}

}

step4:

CheckcodeServlet借用之前Servlet笔记中13.20案例,随机生成验证码

1.9案例:

修改1.8案例,使用post请求

step1:

修改regist.jsp页面请求方式为post

step2:

添加JS验证代码check_username_post

functioncheck_username_post(){

varxhr=getXhr();

xhr.open('post','check_username.do',true);

//添

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
Ajax 学习 笔记
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:Ajax学习笔记.docx
链接地址:https://www.bdocx.com/doc/5796504.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开