AJAX 自学练习 请求与显示

如下:
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("未知地"); 
%>

这里要注意的是由于返回的结果要在文本框中显示,因此在response.jsp中没有<html>等标签,因为测试发现如果有这些标签的话,在cityname文本框中这些标签也会显示。

相关推荐