AJAX程序设计

来源:互联网 发布:爱晒儿软件博客 编辑:程序博客网 时间:2024/05/16 14:43
 

1.利用传统方法异步获取数据(本实验有两个文件)

写了两个jsp文件,一个是html.jsp文件,代码为:

<%@ page language="java" contentType="text/html; charset=gb2312"

    pageEncoding="gb2312"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>Insert title here</title>

<script language="javascript">

var xmlHttp;

function createXMLHttpRequest(){

if(window.ActiveXObject)

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

else if(window.XMLHttpRequest)

xmlHttp = new XMLHttpRequest();

}

function startRequest(){

createXMLHttpRequest();

xmlHttp.open("GET","jsp.jsp",true);

xmlHttp.onreadystatechange = function(){

if(xmlHttp.readyState == 4 && xmlHttp.status == 200)

document.getElementById("target").innerHTML = xmlHttp.responseText;

}

xmlHttp.send(null);

}

</script>

</head>

<body>

<input type="button" value="测试异步通讯" onClick="startRequest()">

<br><br>

<div id="target"></div>

</body>

</html>

另一个jsp文件是jsp.jsp文件,代码为:

<%@ page language="java" contentType="text/html; charset=gb2312"

    pageEncoding="gb2312"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%

out.println("异步加载测试成功,很高兴");

%>

最终运行html.jsp 文件的结果为:

点击按钮显示结果:

2.使用JQuary的load方法异步获取数据;

这其中也有两个jsp问件,一个是jquary.jsp,代码为:
<%@ page language="java" contentType="text/html; charset=GB18030"

    pageEncoding="GB18030"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>jQuery 简化Ajax 步骤</title>

<script language="javascript" src="jquery-1.6.js"></script>

<script language="javascript" type="text/javascript">

function startRequest(){

$("#target").load("jsp.jsp");

}

</script>

</head>

<body>

<input type="button" value="测试异步通讯" onClick="startRequest()">

<br><br>

<div id="target"></div>

</body>

</html>

另一个是jsp.jsp文件,即在1中的jsp.jsp文件,

最终运行结果为:

点击后显示:

3.自动校验的表单:

在此中也是有两个文件,一个是html.jsp,代码为:
<%@ page language="java" contentType="text/html; charset=gbk"

    pageEncoding="gbk"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gbk">

<title>自动校验的表单</title>

<style type="text/css">

form{

padding:0px; margin:0px;

font-size:12px;

font-family:Arial, Helvetica, sans-serif;

}

input{

border:1px solid #004082;

font-size:12px;

font-family:Arial, Helvetica, sans-serif;

}

</style>

<script language="javascript" src="jquery-1.6.js"></script>

<script language="javascript">

$(function(){

$("#UserResult").ajaxSend(function(){

//定义全局函数

$(this).html("<font style='background:#990000; color:#FFFFFF;'>loading... </font>");

});

});

function showResult(sText){

var oSpan = document.getElementById("UserResult");

oSpan.innerHTML = sText;

if(sText.indexOf("already exists") >= 0)

//如果用户名已被占用

oSpan.style.color = "red";

else

oSpan.style.color = "black";

}

function startCheck(oInput){

//首先判断是否有输入,没有输入直接返回,并提示

if(!oInput.value){

oInput.focus(); //聚焦到用户名的输入框

$("#UserResult").html("User cannot be empty.");

return;

}

-23-

$.get("jsp.jsp",{user:oInput.value.toLowerCase()},

//用jQuery 来获取异步数据

function(data){

showResult(decodeURI(data));

}

);

}

</script>

</head>

<body>

<form name="register">

<table cellpadding="5" cellspacing="0" border="0">

<tr><td>用户名:</td><td><input type="text" onBlur="startCheck(this)" name="User"></td>

<td><span id="UserResult"></span></td> </tr>

<tr><td>输入密码:</td><td><input type="password" name="passwd1"></td> <td></td> </tr>

<tr><td>确认密码:</td><td><input type="password" name="passwd2"></td> <td></td> </tr>

<tr>

<td colspan="2" align="center">

<input type="submit" value="注册">

<input type="reset" value="重置">

</td> <td></td>

</tr>

</table>

</form>

</body>

</html>

另一个jsp文件是jsp.jsp文件代码为:

<%@ page language="java" contentType="text/html; charset=gbk"

    pageEncoding="gbk"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%

String name=request.getParameter("user");

if("isaac".equals(name))

out.print("Sorry, " + name + " already exists.");

else

out.print( name + " is ok.");

%>

最终运行结果为:

注册成功后,代码在地址栏会显示密码信息,如下图:

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 京东试用成功商家不发货怎么办 在淘宝主页搜不到我的店铺名怎么办 淘宝发货单号填到别人那去了怎么办 买家申请淘宝介入后同意退款怎么办 淘宝卖家手机版购买装修模块怎么办 天猫店铺和淘宝店铺想要装修怎么办 支付宝转账银行卡卡号错误怎么办 淘宝图片空间照片全部删除了怎么办 我把淘宝图片空间照片删除了怎么办 淘宝发布宝贝怎么没知道品牌怎么办 淘宝提前确认收货了怎么办已经发货 苹果支付安全提示问题忘记了怎么办 没有在规定日期交首付款怎么办 淘宝申请退款又不想退了怎么办 淘宝申请退款后又不想退了怎么办 申请退款后如果不想退了怎么办 世纪明德申请退款但不想退了怎么办 天猫申请换货商家不换怎么办 乐视手机刷机不想清除数据怎么办 捡的苹果手机刷机了要id怎么办 苹果6plus玩王者荣耀卡怎么办 华为荣耀3c的手机内存不足怎么办 红米4x玩王者荣耀卡怎么办 华为手机荣耀10一直重启怎么办 荣耀9青春版老自动重启怎么办 手机开不开机停在华为界面怎么办 华为荣耀9老是反复的重启怎么办 华为荣耀4x老是反复的重启怎么办 手机更新系统后开不了机怎么办 荣耀畅玩7x没有4g网络怎么办 华为4x数字解锁不对中怎么办 华为手机需要解锁后才能刷机怎么办 畅玩6x锁屏壁纸黑了怎么办 指纹密码解锁的手机解不开了怎么办 客户说物流太慢了要退货怎么办 天猫买的手机商家不给发票怎么办 天猫超市下单付款后缺货怎么办 淘宝卖家填写假的单号不发货怎么办 天猫商家72小时未发货怎么办 天猫精灵方糖不按顺序播放怎么办 在天猫购物已付款不发货怎么办