联系方式

MSN:yaohao803@hotmail.com

个人统计

用户名: yaohao
等级: 初来乍到
威望: 267
积分: 1165
在线时间: 12 小时
日志总数: 163
评论数量: 115
访问次数: 440764
建立时间: 2005-12-23
RSS订阅       手机访问

文章搜索

文章列表

日志文章

2007年06月09日 00:17:35

一个简单的ajax实现

    今天经理跑过来问我对ajax的理解,问我能不能开发出一个跑马灯类似的程序以便电子商务系统使用,看来公司正象web2.0发展,ajax看过一点,要我评论ajax对公司的整体发展有何好处和坏处我也说不出来,好歹原来接触过一些,开发吧,先写一个例子程序出来,考虑到公司的dpms封装的是多么多么的严,要我将ajax整合进dpms我想我还比较困难,况且S51也不会让我这样做,那就脱离dpms吧。

新建两个jsp文件,一个负责页面显示,一个负责后台逻辑(本来想直接整合进function类中,但是调试起来不是一会的事情,姑且这样写吧,以后慢慢尝试在自己的采购系统中整合进ajax),以下是例程:

test.jsp

<%@ page contentType="text/html;charset=GBK"%>
<!-- ---------------------------------------------------*/
/* author : W10869(Email:yaohao803@hotmail.com 分机:8039                    */
/* system : AJAX                            */
/* target : AJAX测试用例                      */
/* create : 2007/06/08                     */
/* UPDATE :                           */                                        */
/*---------------------------------------------------- -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>Ajax test</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>

<body>
<script type="text/javascript">
var req;

function validate() {
 var url = "testfunc.jsp";
 if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();
 }else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
 }
 if(req){
  req.open("GET", url, true);
  req.onreadystatechange = callback;
  req.send(null);
 }
}
function callback() {
 if (req.readyState == 4) {
  if (req.status == 200) {
   var msg = req.responseText;
   setMessage(msg);
  }else{
   alert ("您所请求的页面有异常"+req.statusText); //如果服务器各种状态这里都可以判断出,具体的status可以参考W3C的官方说明
  }
 }
}

function setMessage(msg) {
 var userMessageElement = document.getElementById("userIdMessage"); 
 userMessageElement.innerHTML = "<font color=\"red\">"+ msg+"</font>";
}

setInterval("validate()",1000); //每100毫秒调用一次
</script>
<div id="userIdMessage"></div>
</body>
</html>

 

testfunc.jsp

<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.io.*,java.util.HashMap,com.icsc.dpms.ds.*,com.icsc.dpms.du.*,com.icsc.dpms.de.*,java.sql.*,javax.servlet.*,javax.servlet.http.*"%>
<%! public static final String _AppId = "testfunc"; %>
<%
 System.out.print("init");
// 设置输出信息的格式及字符集
 //response.setContentType("text/xml; charset=GBK");
 response.setHeader("Cache-Control","no-cache");
 response.setHeader("Pragma","no-cache");

 for(int i=0;i<2;i++){
  response.getWriter().write("<info>");
  response.getWriter().write("<date>"+(int)(Math.random()*10)+"型笔记本</date>");
  response.getWriter().write("<type>" +(int)(Math.random()*100)+ "</type>");
  response.getWriter().write("</info>");
 }
%>

 

简单吧,如果大家学过DOM相信会写出更炫的效果,大家共同探讨吧!

Tags: ajax  

类别: 无分类 |  评论(1) |  浏览(4633) |  收藏
发表评论