<script type="text/javascript">
var xmlHttpRequest
//判断不同浏览器,采用不同方式创建XMLHttpRequest对象
function createXmlHttpRequest(){
if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP")//windows浏览器
}else if(window.XMLHttpRequest){
return new XMLHttpRequest()//其他浏览器
}
}
// 发送请求到服务器,判断用户名是否存在
// 请求字符串
var url = "user.do?method=doCheckUserExists&userName="+uname
//1. 创建XMLHttpRequest组件
xmlHttpRequest = createXmlHttpRequest()
// 2. 设置回调函数
xmlHttpRequest.onreadystatechange = haoLeJiaoWo
// 3. 初始化XMLHttpRequest组件
xmlHttpRequest.open("GET",url,true)
// 4. 发送请求
xmlHttpRequest.send(null)
}
function haoLeJiaoWo(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var b = xmlHttpRequest.responseText
alert("服务器端返回信息:" + b)
//b 是个字符串,后台传过来的,
//.... 你想要的 *** 作在这里写 动态刷新jsp页面
}
}
}
</script>
jsp中用ajax获取数据的例子如下:jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath()
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<HEAD>
<TITLE>留学生系统</TITLE>
<META http-equiv=Content-Type content="text/htmlcharset=GBK">
<SCRIPT language=JavaScript type=text/JavaScript>
var XMLHttpReq = false
//ajax接口
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
XMLHttpReq = new XMLHttpRequest()
}else if(window.ActiveXObject){
try{
XMLHttpReq = new ActiveXObject("MSXML2.XMLHTTP")
}catch(e){
try{
XMLHttpReq = new ActiveXObject("Mircsoft.XMLHTTP")
}catch(e1){}
}
}
}
function sendRequest(url){
createXMLHttpRequest()
XMLHttpReq.open("GET",url,true)
XMLHttpReq.onreadystatechange = processResponse
XMLHttpReq.send(null)
}
function processResponse(){
if(XMLHttpReq.readyState == 4){
if(XMLHttpReq.status == 200){
var res = XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data
window.alert(res)
document.myform.userid.value=""
document.myform.pwd.value=""
}else{
window.alert("你请求的页面有异常1")
}
}
}
function userCheck(){
var userid = document.myform.userid.value
var pwd = document.myform.pwd.value
if(userid == ""){
window.alert("用户名不能为空")
document.myform.pwd.value=""
document.myform.userid.focus()
return false
}else{
sendRequest("login?userid="+userid)
}
}
function pwdCheck(){
var pwd = document.myform.pwd.value
var pwd2 = document.myform.pwd2.value
if(pwd!=pwd2){
window.alert("密码不一致")
document.myform.pwd.value=""
document.myform.pwd2.value=""
document.myform.pwd.focus()
return false
}
}
</SCRIPT>
<LINK href="css/css.css" type=text/css rel=stylesheet>
</HEAD>
<body>
<table width="778" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" >
<tr>
<td width="17%"><img src="images/logo.jpg" width="124" height="101"></td>
<td width="558" height="101" background="images/banner.jpg"><div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="558" height="101">
<param name="movie" value="images/2.swf">
<param name="quality" value="high">
<embed src="images/2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="558" height="101"></embed>
<param name="wmode" value="transparent">
</object>
</div></td>
<td width="11%"><table width="100%" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td height="30" class="style1"><div align="center">设为首页</div></td>
</tr>
<tr>
<td height="30" class="style1"><div align="center">收藏本站</div></td>
</tr>
<tr>
<td height="30" class="style1"><div align="center">联系我们</div></td>
</tr>
</table></td>
</tr>
</table>
<form method="post" action="control.jsp?action=register" name="myform">
<table width="300" border="0" align="center" bgcolor="#F0F0F0">
<tr>
<td align="center">用户名</td>
<td><input name="userid" type="text" size="20" onblur="userCheck()"></td>
</tr>
<tr>
<td align="center">真实姓名</td>
<td><input name="username" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">性别</td>
<td>
<input type="radio" name="sex" value="0" checked="checked">男
<input type="radio" name="sex" value="1">女
</td>
</tr>
<tr>
<td align="center">密码</td>
<td><input name="pwd" type="password" size="20"/></td>
</tr>
<tr>
<td align="center">密码确认</td>
<td><input name="pwd2" type="password" size="20" onblur="pwdCheck()"/></td>
</tr>
<tr>
<td align="center">电子邮箱</td>
<td><input name="email" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">学校</td>
<td><input name="school" type="text" size="20"/></td>
</tr>
<tr>
<td align="center">电话号码</td>
<td><input name="phonenum" type="text" size="20"/></td>
</tr>
<tr>
<td align="center"><img border=0 src="image.jsp"></td>
<td><input type=text name=in maxlength=4 size="8"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="确定" /></td>
</tr>
</table>
</form>
</body>
</html>
ajax大致原理就是,发出一个请求,被正常相应后,对回传回来的一组数据,进行处理后显示在页面上。至于你的追问:怎么才能把编号、温度、湿度这些数据返回到另一界面?
假设你现在有A.jsp 、B.jsp 两个页面,其中A.jsp有个按钮,当按钮click时,触发ajax调用(也就是异步调用),去访问了B.jsp,而这个B.jsp就是你访问数据库后生成的xml内容,那么当请求得到了响应后,会把这部分的xml传回来,你就可以在回调函数中进行处理了。
网络上的ajax资料很多···还是多找些资料吧······自己理解,才更容易记忆。
建议看看流行的jquery,它对ajax的封装比较简单和容易上手。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)