标签:
通常情况下,GET请求用于从服务器上获取数据,POST请求用于向服务器发送数据。GET请求将所有请求参数换成一个查询字符串,并将该字符串加到请求的URL之后,因而可以在请求的URL后看到请求参数名、请求参数值。如果将某个的action属性设置为GET,则请求将会将表单中各个字段名和值转换成字符串,并附加到URL之后。下面的例子,我们用GET请求将请求的ID作为参数发送,然后得到响应的信息。
1) 我们定义个多选框,当选中了其中一个后,在多选框的右边会显示该国家的信息。所以我们在first.html定义单击的事件。(源码链接:http://pan.baidu.com/s/1kUDWo0f 密码:07pg)
// 事件处理函数,当下拉列表选择改变时,触发该事件
function change(id)
{
// 初始化XMLHttpRequest对象
createXMLHttpRequest();
// 设置请求响应的URL
var uri = "second.jsp?id=" + id;
// 设置处理响应的回调函数
xmlrequest.onreadystatechange = processResponse;
// 打开与服务器响应地址的连接
xmlrequest.open("GET", uri, true);
// 发送请求
xmlrequest.send(null);
}
2) 请求URL之后,对应的页面会返回信息,所以我们要写回调函数来读取这些信息,后将其显示在右边的框中。依然是在first.html中添加。
// 定义处理响应的回调函数
function processResponse()
{
//响应完成且响应正常
if (xmlrequest.readyState == 4)
{
if (xmlrequest.status == 200)
{
// 将服务器响应以$符号分隔成字符串数组
var cityList = xmlrequest.responseText.split("$");
// 获取用于显示菜单的下拉列表
var displaySelect = document.getElementById("second");
// 将目标下拉列表清空
displaySelect.innerHTML = null;
// 以字符串数组的每个元素创建option,
// 并将这些选项添加到下拉列表中
for (var i = 0 ; i < cityList.length ; i++)
{
// 创建一个<option.../>元素
var op = document.createElement("option");
op.innerHTML = cityList[i];
// 将新的选项添加到列表框的最后
displaySelect.appendChild(op);
}
}
else
{
//页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
3) 从面可以看出我们请求的是second.js,所以也要在这个页面中添加下面的代码
<%@ page contentType="text/html; charset=GBK" language="java" %>
<%
String idStr = (String)request.getParameter("id");
int id = idStr == null ? 1 : Integer.parseInt(idStr);
System.out.println(id);
switch(id)
{
case 1:
%>
上海$广州$北京
<%
break;
case 2:
%>
华盛顿$纽约$加州
<%
break;
case 3:
%>
东京$大板$福冈
<%
break;
}
%>
当我们使用GET来发送请求时,我们需要传入id值,当请求id为1时,返回三个中国城市;当请求为2时,返回三个美国城市;当请求为3时,返回三个日本城市。运行结果如下:
标签:
原文地址:http://blog.csdn.net/owen_william/article/details/51337921