`
Jason(aijun)
  • 浏览: 86723 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个简单实用的AJAX例子

阅读更多

学习AJAX时,作了以下这个简单的AJAX例子,没用任何动态语言,完全HTML和JAVASCRIPT,至于服务器源也就小偷了一下www.cc168.com.cn(长城证券)的开放式基金每日净值查询页面。
用XMLHTTP对象获取到WEB页面HTTP内容后,采用Split的方式进行截取,取出自己需要的web部分,然后绑定到页面的div上。CSS样式表也就远程使用了cc168.com.cn的。
^_^,希望长城证券能够宽恕这种偷盗行为。程序员的事,能算“偷”吗?最多算个窃. :- )
原理很简单,但是感觉这种方式比较有用。如果自己网站想提供功能,又不想做数据web服务的话,不妨窃之。

<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];
    //alert(OpenValue);
    document.getElementById("out").innerHTML = OpenValue;
    
    var OpenValue1 = response.split("<td class=\"info-head\" width=\"400\" valign=\"top\">")[2];
    var OpenValue1 = OpenValue1.split("</td></tr>")[0];
    document.getElementById("out1").innerHTML = OpenValue1;
    
    var OpenValue2 = response.split("<td class=\"info-head\" width=\"400\" valign=\"top\">")[3];
    var OpenValue2 = OpenValue2.split("</td></tr>")[0];
    document.getElementById("out2").innerHTML = OpenValue2;
    
    var OpenValue3 = response.split("<td class=\"info-head\" width=\"400\" valign=\"top\">")[4];
    var OpenValue3 = OpenValue3.split("</td></tr>")[0];
    document.getElementById("out3").innerHTML = OpenValue3;
    document.getElementById("flag").innerHTML = "查询结束";

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

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

  var html = [];
         
  for(var iYear=2005; iYear<=2006; 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 id="out1"></div>
      <div id="out2"></div>
      <div id="out3"></div>
  </div>
 </form>
</body>
</html>


代码讲解:
1、代码主要分为JS处理和BODY两大部分(废话 ^_^)
2、BODY部分用了几个层:dataSele : 显示日期选择下拉框;flag : 状态标示;date: 显示选中的日期;outgroup:显示基金的净值结果组;out 到 out3 则是几种类型的开放式基金净值结果
3、JS部分:页面加载处理:页面初始化设置;创建XMLHTTP对象:按不同客户端浏览器创建不同的XMLHTTP连接对象;调用远程方法:构造连接字符串,发送请求;回调处理函数:判断连接对象的返回状态,进行状态显示,完全获取结果后,进行DOM方式的层赋值;创建日期选择下拉框:动态的创建日期选择下拉框,并为其加上选择事件。

分享到:
评论

相关推荐

    一个简单的Ajax例子

    在这个"一个简单的Ajax例子"中,我们将深入探讨Ajax的核心概念、工作原理以及如何编写基本的Ajax代码。 1. **Ajax核心概念**: - **异步通信**:Ajax允许浏览器与服务器进行非阻塞通信,即用户在请求处理期间仍可...

    很简单的一个AJAX例子

    这个"很简单的一个AJAX例子"的标题和描述表明,我们将会探讨一个基础的AJAX应用实例,它可能包含了一个简单的JavaScript代码示例,用于向服务器发送请求并接收响应,以实现页面的异步更新。 在Web开发中,AJAX的...

    一个最简单的AJAX例子

    在压缩包中的"Ajax"文件,可能是包含了这个简单AJAX例子的源代码或者相关资源。查看这个文件可以提供更具体的实践细节,比如服务器端的响应格式、如何将数据插入到DOM中等。 总结起来,AJAX是Web开发中的重要技术,...

    一个非常简单的ajax例子

    通过理解并实践这个简单的Ajax例子,你可以掌握创建XMLHttpRequest对象、发送HTTP请求以及处理响应的基本步骤。 首先,让我们了解一下XMLHttpRequest对象。它是Ajax的核心,允许JavaScript与服务器进行异步数据交换...

    ajax最简单例子

    总的来说,这个简单的Ajax例子展示了如何通过JavaScript与服务器进行异步通信,以及如何将返回的数据动态地更新到页面上。对于初学者来说,理解这个基本流程是学习Ajax的关键。随着深入学习,你还可以了解更多的高级...

    简单ajax登陆例子,新手适用

    这个“简单ajax登录例子”是一个非常适合初学者理解Ajax基本原理和使用方法的教程。在这里,我们将深入探讨Ajax如何与Servlet结合,实现用户无刷新登录验证。 1. **Ajax简介** Ajax的核心是JavaScript异步通信,它...

    一个完整的ajax应用例子

    3. **反馈结果**:收到服务器响应后,根据返回的数据(例如,一个布尔值表示用户名是否可用),在页面上显示相应的提示信息。 **四、实现细节** 1. **创建XMLHttpRequest实例**:`var xhr = new XMLHttpRequest();`...

    ajax的一个简单例子

    在"ajax的一个简单例子"中,我们通常会看到以下几个关键组成部分: 1. **创建XMLHttpRequest对象**:这是Ajax的核心,几乎所有的浏览器都内置了这个对象,用于与服务器进行异步通信。例如: ```javascript var ...

    msajax简单例子jsmsajax简单例子jsmsajax简单例子js

    msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子msajax简单例子

    简单的ajax例子

    本篇将通过一个简单的AJAX例子来阐述其基本原理和使用方法,以及与Servlet的结合。 首先,我们来看AJAX的核心组成部分: 1. **XMLHttpRequest对象**:这是AJAX的基础,它是浏览器提供的JavaScript对象,用于在后台...

    自己写的最简单Ajax例子

    在"自己写的最简单Ajax例子"中,我们可以看到两个简单的实例,适合初学者入门学习。 首先,我们来详细讲解一下Ajax的核心概念: 1. 异步通信:Ajax的核心特性就是异步,这意味着在发送请求后,浏览器不会等待...

    ajax一个最简单的例子

    本教程将通过一个最简单的Ajax例子,让你深入理解其工作原理和优势。 ### 1. Ajax基本概念 - **异步通信**:Ajax的核心是浏览器内置的`XMLHttpRequest`对象,它允许JavaScript向服务器发送异步HTTP请求,即在不...

    一个简单的Ajax实例

    在"一个简单的Ajax实例"中,我们将探讨如何创建一个基本的Ajax请求,以理解其工作原理。Ajax的核心是XMLHttpRequest对象,它允许JavaScript在后台与服务器进行通信。以下是一个简单的Ajax请求示例: ```javascript ...

    prototype一个简单的ajax例子

    在本示例中,我们使用的是一种JavaScript库——Prototype,它为JavaScript提供了许多实用的工具和功能,包括对Ajax的优雅封装。Prototype简化了Ajax操作,使得开发者可以更方便地与服务器进行异步数据交互。 ...

    ajax简单例子(转)

    以下是一个简单的Ajax GET请求的例子: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'AjaxxmlPage', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status ...

    一个简单的xmlHttpRequest ajax的例子

    在这个“一个简单的xmlHttpRequest AJAX的例子”中,我们将探讨如何使用XMLHttpRequest对象来实现基本的AJAX请求。 首先,我们需要创建一个新的XMLHttpRequest实例。在JavaScript中,这是通过`new XMLHttpRequest()...

    几个简单的Ajax例子

    在开发过程中,我们需要注意跨域问题,如果Ajax请求的目标URL与当前页面不在同一个源下,可能会触发浏览器的安全限制。这时,服务器端需要设置CORS策略,允许来自不同源的请求。 此外,对于SEO(搜索引擎优化)和无...

    Ajax最简单的例子

    这个简单的Ajax例子展示了如何获取服务器上的文本文件(如'ajax_example.txt')并将其内容显示在网页上。实际上,Ajax可以处理更复杂的任务,比如发送表单数据、获取JSON数据、实现分页加载等。在实际应用中,我们...

    使用struts2+JQuery实现的简单的ajax例子

    在这个简单的Ajax例子中,我们将探讨如何整合Struts2和jQuery来实现页面无刷新的数据更新。 首先,我们需要在项目中引入Struts2和jQuery的相关依赖。Struts2通常通过Maven或Gradle添加依赖库,包括核心库、struts2-...

Global site tag (gtag.js) - Google Analytics