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文本框中这些标签也会显示。