`
meiowei
  • 浏览: 147760 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个超级简单的AJAX实例

    博客分类:
  • ajax
阅读更多

学习AJAX时,作了以下这个简单的AJAX例子,没用任何动态语言,完全HTML和JAVASCRIPT,至于服务器源也就小偷了一下www.cc168.com.cn(长城证券)的开放式基金每日净值查询页面。
用XMLHTTP对象获取到WEB页面HTTP内容后,采用Split的方式进行截取,取出自己需要的web部分,然后绑定到页面的div上。CSS样式表也就远程使用了cc168.com.cn的。

 

<html>
<head>
<link href="http://www.cc168.com.cn/css/index.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="http://www.cc168.com.cn/css/framework.css" type="text/css"/>
 <script language="javascript">
 
 window.onload = function()
 {
  CreateDateSelect();
 }

 var xmlHttp = false;
 var e;
 
 //创建XMLHTTP对象
 function getXMLHTTPObj()
 {
  var C = null;
  try
  {
   C = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(e)
  {
   try
   {
    C = new ActiveXObject("Microsoft.XMLHTTP");
   }
   catch(sc)
   {
    C = null;
   }
  }
  
  if( !C && typeof XMLHttpRequest != "undefined" )
  {
   C = new XMLHttpRequest();
  }
  
  return C;
 }
 
 //调用远程方法
 function callServer(e) 
 { 
  try
  {
   if( xmlHttp && xmlHttp .readyState != 0 )
   {
    xmlHttp.abort();
   }

   xmlHttp = getXMLHTTPObj();

   if( xmlHttp )
   {
    document.getElementById("outgroup").style.display = "none";
    
    //获取查询日期
    var dateSele = e.options[e.selectedIndex].value;
    document.getElementById("date").innerHTML = dateSele + " 开放式基金净值";

    //构造查询连接字符串
    var url = "http://www.cc168.com.cn/service/FundNetValue.jsp?newEndDate=" + dateSele;

    //打开连接
    xmlHttp.open("GET", url, true);
    //设置回调函数
    xmlHttp.onreadystatechange = updatePage;
    //发送请求
    xmlHttp.send(null);
   }
   else
   {
    document.getElementById("flag").innerHTML = "XMLHTTP对象创建失败";
   }
  }
  catch (e)
  {
   document.getElementById("flag").innerHTML = "查询错误:" + e;
  }
 }
 
 //回调处理函数
 function updatePage() 
 {
  try {
   if (xmlHttp.readyState == 1) 
   {
    document.getElementById("flag").innerHTML = "正在加载连接对象......";
   }

   if (xmlHttp.readyState == 2) 
   {
    document.getElementById("flag").innerHTML = "连接对象加载完毕。";
   }

   if (xmlHttp.readyState == 3) 
   {
    document.getElementById("flag").innerHTML = "数据获取中......";
   }

   if (xmlHttp.readyState == 4) 
   {
    var response = xmlHttp.responseText;
    var OpenValue = response.split("<td class=\"info-head\" width=\"400\" valign=\"top\">")[1];
    var OpenValue = OpenValue.split("</td></tr>")[0];
    document.getElementById("out").innerHTML = OpenValue;
    document.getElementById("flag").innerHTML = "查询结束";

    document.getElementById("outgroup").style.display = "block";
   }
  }
  catch (e) 
  {
      document.getElementById("flag").innerHTML = "回调处理错误:" + e;
  }
 }

 //创建日期选择下拉框
 function CreateDateSelect()
 {

  var html = [];
         
  for(var iYear=2005; iYear<=2009; iYear ++)
  {
   for( var iMonth=1; iMonth<=12; iMonth ++ )
   {
    for( var iDay=1; iDay<=31; iDay ++ )
    { 
    html[html.length] = "<option value=\""  + iYear + "\-" + iMonth + "\-" + iDay + "\">" + iYear + "年" + iMonth + "月" + iDay + "日" + "</option>";
    }
   }
  }
      
  document.getElementById("dateSele").innerHTML = "<select name=\"dateSele\" id=\"dateSele\" onchange=\"callServer(this);\">" + html.join("") + "</select>";
 } 
 </script>
</head>
<body>
 <form>
  <div>请选择交易日期:</div>
  <div>
   <div id="dateSele" align=left>
   </div>
   <div id="flag" align=right></div>
  </div>
  <div id="date"></div>
  <div id="outgroup" style="display:None">
      <div id="out"></div>
  </div>
 </form>
</body>
</html>

 如果使用的是firefox的话,在open之前加上下面的代码

    if(window.XMLHttpRequest)   // firefox
{        
    try 
    { netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); 
    }
    catch (exception)
    { 
        alert(exception); 
    }
}

 

不过日期的list是有点问题的,全部弄为1~31号了,本例只是说明了一个AJAX的应用而已。

 

 

分享到:
评论

相关推荐

    PHP+Ajax网站开发典型实例-源代码

    实例21 超级链接计数 第3章 数据库、XML实例 实例22 mysql类库完成MySQL数据库的添加、删除和修改 实例23 mysqli类库完成MySQL数据库的添加、删除和查询 实例24 获取服务器和系统信息 实例25 分页显示信息 实例26 ...

    PHP+Ajax网站开发典型实例

    实例21 超级链接计数 第3章 数据库、XML实例 实例22 mysql类库完成MySQL数据库的添加、删除和修改 实例23 mysqli类库完成MySQL数据库的添加、删除和查询 实例24 获取服务器和系统信息 实例25 分页显示信息 ...

    .net的AJAX简单实例 VS2010

    通过这个".net的AJAX简单实例",我们可以学习如何在VS2010中创建一个基本的AJAX应用,例如创建一个简单的搜索功能,用户输入查询后,无需刷新页面就能看到搜索结果。在实际项目中,这样的功能可以显著提升用户体验,...

    HBuilder JS+HTML+ajax实例

    【HBuilder JS+HTML+ajax实例】是一个基于HBuilder开发工具的项目,它结合了JavaScript、HTML和Ajax技术,用于创建HTML5应用。这个项目旨在为开发者提供一个实践平台,以便更好地理解和运用这些核心技术在实际开发中...

    个人收集的几个很好的AJAX实例

    4. **ajaxim_v30**: AJAX即时通讯软件的实例,可能是一个轻量级聊天应用程序。它利用AJAX实现实时消息传递,用户可以在不刷新页面的情况下收发信息,增强了在线交流的即时性。 5. **dragable-content**: 拖放功能...

    php无刷新简便超实用的ajax类附带实例

    最后是`ajax.js`,这是一个JavaScript文件,其中包含了处理Ajax请求的逻辑。在这个文件中,可能定义了一个名为Ajax的构造函数,以及一些方法,如`send`、`getData`等。这些方法会被表单的事件监听器调用,负责构建...

    最新Struts2+jq+ajax+json 学会总要4步‵‵超级简单,里面包含实例

    学会struts+jq+ajax+json只要4步‵‵经过作者的总结超级简单 1. 导入struts2 及json包 asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1....

    Ajax 实例应用

    在"ajax-demo"中,可能包含了一个简单的Ajax应用示例。通常,这样的例子可能包括以下几个部分: 1. HTML结构:定义触发Ajax请求的按钮或其他交互元素。 2. JavaScript代码:创建XMLHttpRequest对象,编写发送请求和...

    php&AJAX;实例代码

    本文将详细介绍一个简单的PHP与AJAX结合使用的示例,该示例通过POST方法向服务器发送数据,并接收响应。特别关注如何创建兼容不同浏览器的XMLHttpRequest对象。 #### 二、理解XMLHttpRequest对象 XMLHttpRequest...

    60个超经典Ajax特效代码【中文目录版】

    这个压缩包中的每个示例都是一个独立的Ajax应用,文件夹以中文命名,便于理解和查找。开发者可以通过查看源代码,学习如何将Ajax技术应用到实际项目中,提升网站的交互性和用户体验。同时,这些实例也是学习和研究...

    100个网页实例

    本资源"100个网页实例"是一个宝贵的教材,它提供了丰富的实例供学习者研究和参考,尤其对于初学者来说,是提升Web设计与开发能力的绝佳途径。 这些实例覆盖了多种网页布局技术,布局在网页设计中扮演着核心角色,它...

    Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)

    在使用Ajax技术时,通常会用到jQuery的$.ajax()方法,这是一个非常强大的AJAX请求方法,可以用来与服务器进行异步数据交互。其具体用法可以通过提供的代码示例来说明: 代码中的var csj_data;是一个JavaScript变量...

    超酷的AJAX源码和Demo(1)

    这个"超酷的AJAX源码和Demo(1)"资源包含了一个基础的AJAX应用实例,旨在帮助开发者理解和掌握AJAX的核心概念。 首先,让我们详细探讨一下AJAX的工作原理。它通过创建XMLHttpRequest对象,向服务器发送异步请求,...

    ajaxDemo的例子

    "一个最简单的AJAX实例及解析.txt"可能包含了一个基础的Ajax请求示例。这个文本文件可能会解释如何使用JavaScript的XMLHttpRequest对象来发送GET请求,获取服务器上的数据。它可能涉及到`open()`、`send()`方法的...

    eWebEditor2.8+超级好实例.rar

    综上所述,"eWebEditor2.8+超级好实例.rar"是一个包含完整图片上传功能、简化后台配置的eWebEditor应用实例,涵盖了文本编辑、图片处理、用户管理和数据库交互等多个方面,对于需要构建在线编辑功能的网站或平台,这...

    基于ajax的通讯录简单小程序

    【标题】:“基于Ajax...总结来说,这个基于Ajax的通讯录简单小程序是一个综合运用前端JavaScript、后端Java以及数据库技术的实例,展示了如何通过Ajax实现实时、无刷新的用户交互,提高Web应用的响应速度和用户体验。

    Ajax + PHP 简单图片相册源代码

    总结,这个"Ajax + PHP 简单图片相册源代码"是一个很好的学习实例,它展示了如何利用现代Web技术创建一个动态、响应式的图片浏览应用。通过对源代码的深入理解,我们可以掌握Ajax与PHP的集成、前端与后端交互、数据...

    网页开发实例之网上会员注册实例

    这个实例将带你走过从设计到实现一个完整的会员注册功能的过程。 首先,我们来探讨会员注册系统的组成部分。一个基本的会员注册页面通常包含以下几个关键元素: 1. 用户名(Username):这是用户在网站上的唯一...

    简单的php网站实例annuaire_.rar

    【标题】"简单的php网站实例annuaire_.rar" 提供了一个基础的PHP网站模板,名为"annuaire",这通常是一个简单的目录或联系人管理系统的示例。在这个实例中,我们可以期待学习到关于PHP的基本语法、网页交互以及可能...

    超酷的jquery实例

    在网页开发领域,jQuery是一个不可或缺的JavaScript库,它极大地简化了JavaScript的使用,使得复杂的DOM操作、事件处理以及动画效果变得简单易行。本篇文章将深入探讨一些超酷的jQuery实例,帮助你提升网页交互体验...

Global site tag (gtag.js) - Google Analytics