最近想学着J2EE来着,就学到了Ajax这个东西,就跟着学了点,下面就给个实例,省的自己以后用到了也不知道哪找去。
html页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>user_info.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript">
String.prototype.trim = function() {
return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
var xmlHttp;
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
function validate(user){
if(user.value.trim().length!=0){
createXMLHttpRequest();
var url="user_validate.jsp?userNumber="+user.value.trim()+"&time="+new Date().getTime();
xmlHttp.open("get",url,true);
// 把方法地址赋值给xmlHttp的onreadystatechange属性
xmlHttp.onreadystatechange=callback;
xmlHttp.send(null);
}
}
function callback(){
// alert(xmlHttp.readyState);
if(xmlHttp.readyState==4){ // Ajax引擎初始化完成
if(xmlHttp.status ==200){ // http 200响应
// alert("请求成功");
// alert(xmlHttp.responseText);
document.getElementById("spanuserNumber").innerHTML="<font color='red'>"
+xmlHttp.responseText+"</font>"
}else{
alert("请求错误"+xmlHttp.status);
}
}
}
</script>
</head>
<body>
This is my HTML page. <br>
<form name="input" action="html_form_action.asp" method="get">
<table border =0 >
<tr>
<td>Usernumber: </td>
<td><input type="text" name="usernumber" id="usernumber" onblur="validate(this)"/>
<span id="spanuserNumber"></span>
</td>
</tr>
<tr>
<td>Username:</td>
<td> <input type="text" name="username" />
</td>
</tr>
<tr>
<td>
null:
</td>
<td> <input type="text" name="user" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="Submit" />
</td>
</tr>
</table>
</form>
</body>
</html>
这里用到了trim(),按照教程的是用trim(str),而不是 str.trim()调用,上网查了下才发现IE不支持,而且实现这个的方法居然又十几种之多,http://www.cnblogs.com/rubylouvre/archive/2009/09/18/1568794.html
提交到Ajax的jsp页面如下:<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import ="com.fillblank.jdbc.*"%>
<%
String userNumber=request.getParameter("userNumber");
if(JDBCConnection.findByUserNumber(userNumber)){
System.out.print("JDBCConnection.findByUserNumber()--userer="+userNumber);
//out.println("the number is already in use");
out.println("号码已存在");
}
%>
然后出现的效果如下:
对于ajax总体感觉用起来不错,不过个人感觉好像也只是提供了一个用户友好的页面而已,其他好像就没啥用了?