`
fuhao9611
  • 浏览: 85377 次
  • 性别: Icon_minigender_1
  • 来自: 陕西 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

第一个Ajax例子

    博客分类:
  • Ajax
阅读更多
今天写了一个很简单的例子,当输入乘数和被乘数,单击“开始计算”按钮之后,乘数和被乘数被传送到Web服务器,经过类型转换和计算之后,结果以普通文本的方式返回并显示。
其中:send_request()函数用来初始化XMLHttpRequest对象,并向Web服务器发起XMLHTTP请求;函数processRequest()则接受服务器返回的数据,并将这些数据解析后更新到页面相关区域,其作为XMLHttpRequest对象的回调函数使用;函数doCaculate响应按钮caculate的onClick事件,判断用户输入情况,并将目标url地址以参数的形式传送给函数send_request。
calc.htm
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Ajax例子</title>
<link href="../css/style.css" rel="stylesheet" type="text/css">
<script language="javascript">
	//按钮“开始计算”响应函数,判断输入域情况后调用send_request函数。
	function doCaculate() {
		var f = document.form1;
		if((f.number_1.value!="")&&(f.number_2.value!="")) {
			document.getElementById("feedback").innerHTML = "正在计算,请稍后......";
			send_request("process.jsp?number_1="+f.number_1.value+"&number_2="+f.number_2.value);
		}
		else if(f.number_1.value=="") document.getElementById("feedback").innerHTML = "乘数不能为空。";
		else if(f.number_2.value=="") document.getElementById("feedback").innerHTML = "被乘数不能为空。";
	}
	var http_request = false;
	//向服务器发起XMLHTTP请求。
	function send_request(url) {//初始化、指定处理函数、发送请求的函数
		http_request = false;
		//开始初始化XMLHttpRequest对象
		if(window.XMLHttpRequest) { //Mozilla 浏览器
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {//设置MiME类别
				http_request.overrideMimeType('text/xml');
			}
		}
		else if (window.ActiveXObject) { // IE浏览器
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!http_request) { // 异常,创建对象实例失败
			window.alert("不能创建XMLHttpRequest对象实例.");
			return false;
		}
		http_request.onreadystatechange = processRequest;
		// 确定发送请求的方式和URL以及是否同步执行下段代码
		http_request.open("GET", url, true);
		http_request.send(null);
	}
	// 处理返回信息的函数
    function processRequest() {
		var f = document.form1;
        if (http_request.readyState == 4) { // 判断对象状态
            if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
				var returnStr = http_request.responseText;
				if(returnStr.indexOf("Error")==-1) {
					f.result.value = returnStr;
					document.getElementById("feedback").innerHTML = "";
				}
				else {
					f.result.value = "";
					document.getElementById("feedback").innerHTML = returnStr;
				}
            } else { //页面不正常
                alert("您所请求的页面有异常。");
            }
        }
    }
</script>
</head>

<body><center>
<form action="process.jsp" method="post" enctype="application/x-www-form-urlencoded" name="form1" target="_self">
<table width="400" cellpadding="4" cellspacing="1" border="0">
  <caption>简单乘法计算</caption>
  <tr>
    <td align="center">
	<input type="text" name="number_1" size="10">
    *
	<input type="text" name="number_2" size="10">
	=
	<input type="text" name="result" size="10">
	</td>
  </tr>
  <tr align="center">
    <td> 
	<input type="button" name="Caculate" value="开始计算" onClick="doCaculate()"> 
	<input type="reset" name="reset" value="重新计算">
	</td>
  </tr>
  <tr><td align="center" height="25"><label id="feedback"> </label></td></tr>
</table>
</form>
</center>
</body>
</html>

process.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%
String number_1 = request.getParameter("number_1");
String number_2 = request.getParameter("number_2");
int num_1=0,num_2=0;
boolean status = true;
if(number_1!=null) {
	try {
		num_1 = Integer.parseInt(number_1);
	}catch(Exception ex) {
		status = false;
		out.println("Error,乘数必须是整数。");
	}
}
if(number_2!=null) {
	try {
		num_2 = Integer.parseInt(number_2);
	}catch(Exception ex) {
		status = false;
		out.println("Error,被乘数必须是整数。");
	}
}
if(status) out.println(num_1*num_2);
%>
分享到:
评论

相关推荐

    一个非常简单的ajax例子

    第一个可能是用来设置和发送Ajax请求的,而第二个可能用于处理服务器返回的数据。通常,发送Ajax请求的过程包括以下几步: 1. **初始化XMLHttpRequest对象**:`var xhr = new XMLHttpRequest();` 2. **配置请求**...

    jquery,ajax的几个小例子

    这可以通过监听第一个下拉框的change事件,然后发送Ajax请求获取新的选项数据,最后更新第二个下拉框。自动补全功能常用于输入框,当用户输入时,后台会返回匹配的建议列表。这通常结合keyup事件和$.ajax()实现,...

    C# 写的一个 Ajax的例子

    【描述】中提到,Ajax功能是通过引用“ajax.dll”来实现的,这表明该项目可能使用了一个自定义的或第三方的Ajax库,而不是直接使用微软提供的ASP.NET AJAX Control Toolkit。通常,ASP.NET AJAX提供了一整套服务器端...

    Ajax小例子

    2. 编写JavaScript代码,监听第一个下拉列表的改变事件。 3. 当用户选择了一个省份,触发Ajax请求,发送省ID到服务器。 4. 服务器根据省ID查询对应的市数据,并返回。 5. 客户端接收到市数据后,清空第二个下拉列表...

    ajax三个小例子供学习

    第一个小例子是“小例子_自动刷新”。这个例子展示了如何使用Ajax实现实时数据刷新。在传统的网页中,如果要更新页面内容,通常需要整个页面重新加载。而使用Ajax,我们可以只更新需要变化的部分,比如一个新闻列表...

    Ajax基础教程(亚马逊计算机榜首图书,国内第1本Ajax图书) [第一部分 共两部分]

    Ajax技术可以提供高度交互的Web应用,给予用户更丰富的页面浏览体验。本书重点介绍Ajax及相关的工具和技术,主要内容包括...这一过程将乐趣无穷,我们衷心地希望,有一天能看到你开发的基于Ajax的一流应用!

    AJAX聊天室例子简单易学

    - `ajaxchat2`可能是对第一个示例的改进,可能加入了错误处理、优化的用户体验或者更复杂的聊天功能。 通过这个AJAX聊天室例子,你可以理解到AJAX如何与服务器进行数据交换,以及如何在客户端实时更新内容。同时,...

    第一个spring例子

    在这个"第一个spring例子"中,我们将探讨如何创建一个简单的Spring应用,它包含了client和server两部分,这通常意味着我们将构建一个客户端-服务器架构的应用。为了运行此示例,你需要安装MySQL数据库服务和Apache ...

    ajax实现3级联动例子(vs2003带数据库)

    当用户在第一个下拉列表中做出选择时,第二个下拉列表将自动更新;接着,当第二个下拉列表被选中时,第三个下拉列表也会相应地更新。这一过程都是通过 Ajax 技术在后台默默地完成的,用户无须等待整个页面刷新。 ...

    很实用的ajax例子

    这个"很实用的Ajax例子"应该包含了一些基础到进阶的Ajax应用示例,非常适合初学者学习和理解Ajax的工作原理。 Ajax的核心是通过JavaScript与服务器进行异步通信,它允许网页在后台与服务器交换数据并局部更新页面,...

    ajax 例子demo(protype)

    【标题】"ajax 例子demo(protype)"是一个关于使用AJAX技术实现动态页面更新的示例项目,其中可能包含了对JavaScript原型(protype)概念的应用。这个项目旨在帮助开发者理解和学习如何利用AJAX来增强用户体验,减少...

    Ajax实战第四章的例子

    在本主题中,我们将深入探讨Ajax实战第四章中的例子,特别是如何使用jQuery来实现一个功能丰富的AJAX插件。AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下,与服务器交换数据并更新部分...

    ajax tab页 滑动门小例子

    例如,初次加载时,第一个Tab应该显示其内容,其他Tab的内容应被隐藏。 通过以上步骤,你可以创建一个具有Ajax加载和滑动门效果的Tab页。这个小例子可以帮助你理解如何结合Ajax、JavaScript库和前端设计技巧来提升...

    最简单的Ajax例子

    在最简单的Ajax例子中,通常会涉及以下几个关键组成部分: 1. **创建XMLHttpRequest对象**:这是Ajax的核心,它负责与服务器进行通信。在JavaScript中,几乎所有的浏览器都内置了XMLHttpRequest对象。如果需要跨域...

    Ajax入门的三个实用小例子

    首先,我们来看第一个例子——输入自动提示。这个功能广泛应用于搜索框,当用户在输入框中键入字符时,系统会根据已输入的部分文本,动态地从后台数据库中检索匹配的数据并显示为提示列表。实现这个功能的关键在于...

    一个ajax+jsp上传文件的例子

    - AJAX的核心是通过XMLHttpRequest对象与服务器进行异步通信,创建这个对象是第一步。 - XMLHttpRequest提供了send()方法来发送HTTP请求,以及onreadystatechange事件来监听服务器的响应状态。 2. **文件上传**:...

    dwr3 反转ajax例子

    DWR3是DWR框架的第三个主要版本,它提供了一种高效、安全的方式,使JavaScript可以直接调用服务器端的Java方法。这种“反转Ajax”概念的核心在于,它不再需要传统的Ajax请求模式,即通过XMLHttpRequest对象手动构造...

Global site tag (gtag.js) - Google Analytics