AJAX 自學(xué)練習(xí) 請(qǐng)求與顯示
更新時(shí)間:2009年09月23日 17:18:29 作者:
主要功能輸入 城市代碼觸發(fā)發(fā)送請(qǐng)求最終返回城市名稱(chēng)。
如下:
request.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=UTF-8">
<title>Insert title here</title>
<script language="javascript"><!--
function GetXmlHttpObject(){
var xmlHttp = null;
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function showMsg(str){
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null){
alert ("you browser don't support the ajax");
return;
}
var url = "response.jsp";
url = url + "?q="+ str;
url = url + "&sid ="+ Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
if(xmlHttp.readyState==4)
{
document.getElementById("city").value = xmlHttp.responseText;
}
}
// --></script>
</head>
<body>
<form name="form1" action="" method="post">
<label >City Code:</label>
<input type="text" name="code" onblur = "showMsg(this.value)" />
<br></br>
<label>City Name:</label>
<input type="text" name="city" id="city" ></input>
</form>
</body>
</html>
response.jsp
<%@ page language="java" contentType="text/plain; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.lwf.eus.util.*,java.util.*,com.lwf.eus.entity.*,com.lwf.eus.bean.*" %>
<%
String code = request.getParameter("q");
System.out.println(code);
if(code.equals("140"))
out.print("上海");
else if(code.equals("150"))
out.print("北京");
else if(code.equals("160"))
out.print("天津");
else
out.print("未知地");
%>
這里要注意的是由于返回的結(jié)果要在文本框中顯示,因此在response.jsp中沒(méi)有<html>等標(biāo)簽,因?yàn)闇y(cè)試發(fā)現(xiàn)如果有這些標(biāo)簽的話(huà),在cityname文本框中這些標(biāo)簽也會(huì)顯示。
request.jsp
復(fù)制代碼 代碼如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=UTF-8">
<title>Insert title here</title>
<script language="javascript"><!--
function GetXmlHttpObject(){
var xmlHttp = null;
try{
xmlHttp = new XMLHttpRequest();
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function showMsg(str){
xmlHttp = GetXmlHttpObject();
if(xmlHttp == null){
alert ("you browser don't support the ajax");
return;
}
var url = "response.jsp";
url = url + "?q="+ str;
url = url + "&sid ="+ Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
if(xmlHttp.readyState==4)
{
document.getElementById("city").value = xmlHttp.responseText;
}
}
// --></script>
</head>
<body>
<form name="form1" action="" method="post">
<label >City Code:</label>
<input type="text" name="code" onblur = "showMsg(this.value)" />
<br></br>
<label>City Name:</label>
<input type="text" name="city" id="city" ></input>
</form>
</body>
</html>
response.jsp
復(fù)制代碼 代碼如下:
<%@ page language="java" contentType="text/plain; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.lwf.eus.util.*,java.util.*,com.lwf.eus.entity.*,com.lwf.eus.bean.*" %>
<%
String code = request.getParameter("q");
System.out.println(code);
if(code.equals("140"))
out.print("上海");
else if(code.equals("150"))
out.print("北京");
else if(code.equals("160"))
out.print("天津");
else
out.print("未知地");
%>
這里要注意的是由于返回的結(jié)果要在文本框中顯示,因此在response.jsp中沒(méi)有<html>等標(biāo)簽,因?yàn)闇y(cè)試發(fā)現(xiàn)如果有這些標(biāo)簽的話(huà),在cityname文本框中這些標(biāo)簽也會(huì)顯示。
相關(guān)文章
Java 項(xiàng)目生成靜態(tài)頁(yè)面的代碼
第一次做項(xiàng)目需要生成靜態(tài)頁(yè)面,網(wǎng)上很多大牛對(duì)將網(wǎng)頁(yè)生成靜態(tài)頁(yè)面有很多異議。說(shuō)一下我的看法。2009-07-07
使用MongoDB和JSP實(shí)現(xiàn)一個(gè)簡(jiǎn)單的購(gòu)物車(chē)系統(tǒng)實(shí)例
本篇文章主要介紹了使用MongoDB和JSP實(shí)現(xiàn)一個(gè)簡(jiǎn)單的購(gòu)物車(chē)系統(tǒng)實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-11-11
jsp+ajax實(shí)現(xiàn)的局部刷新較驗(yàn)驗(yàn)證碼(onblur事件觸發(fā)較驗(yàn))
這篇文章主要介紹了jsp+ajax實(shí)現(xiàn)的局部刷新較驗(yàn)驗(yàn)證碼,基于onblur事件觸發(fā)較驗(yàn)功能,以實(shí)例形式詳細(xì)的分析了前臺(tái)顯示、圖片生成及Ajax動(dòng)態(tài)驗(yàn)證等詳細(xì)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
jsp+servlet實(shí)現(xiàn)最簡(jiǎn)單的增刪改查代碼分享
本文主要分享了jsp+servlet實(shí)現(xiàn)的最簡(jiǎn)單的增刪改查代碼。代碼清晰明了,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12
JSP刷新頁(yè)面表單重復(fù)提交問(wèn)題解決辦法分享
最近做項(xiàng)目中有多附件上傳及信息多次添加功能,其中就遇到了刷新頁(yè)面導(dǎo)致上次提交的數(shù)據(jù)重復(fù)保存的問(wèn)題,以下是解決方法,有需要的朋友可以參考一下2013-10-10

