AJAX应用【股票案例、验证码校验】(二)

简介: 笔记
  • doPost()代码:

//封装成JSON格式,返回给浏览器

       StringBufferbuffer=newStringBuffer();



       //这里我们拼接成4个对象

       buffer.append("({");

       for(Map.Entry<String,Stock>entry:map.entrySet()){

           Stringid=entry.getKey();

           Stockstock=entry.getValue();


           buffer.append(id).append(":{yesterday:").append(stock.getYesterday()).append(",today:").append(stock.getToday()).append(",high:").append(stock.getHighest()).append(",low:").append(stock.getLowest()).append(",current:").append(stock.getCurrent()).append(",range:'").append(stock.getRange()).append("'}").append(",");


       }

       //消除最后一个逗号

       buffer.deleteCharAt(buffer.lastIndexOf(","));


       //最后补上括号

       buffer.append("})");


       //返回给浏览器

       response.getWriter().write(buffer.toString());

  • 拼接成的JSON数据:

({

   3:{yesterday:333.3,today:333.48,high:333.48,low:333.3,current:333.48,range:'0.05%'},

   2:{yesterday:222.2,today:223.46,high:223.46,low:222.2,current:223.46,range:'0.57%'},

   1:{yesterday:1110.1,today:1109.73,high:1110.1,low:1109.73,current:1109.73,range:'-0.03%'},

   4:{yesterday:1133.5,today:1135.49,high:1135.49,low:1133.5,current:1135.49,range:'0.18%'}

})


客户端分析之一


客户端要做的就是显示数据,每隔两秒就和服务器进行一次交互

  • 用到Ajax和setInterval()方法

html代码

使用div嵌套span和a标签来进行显示,span装载的就是服务端返回json的current数据

<bodyonload="show()">


<div>

   <ahref="#">百度:</a>

   <spanid="1"></span>

</div>

<div>

   <ahref="#">阿里巴巴:</a>

   <spanid="2"></span>

</div>

<div>

   <ahref="#">腾讯:</a>

   <spanid="3"></span>

</div>

<div>

   <ahref="#">谷歌:</a>

   <spanid="4"></span>

</div>



</body>


javaScript代码


  • 解析JSON,并设置span的内容

functionshow(){


           getStock();


           //每两秒就取一次数据

           setInterval(getStock,2000);


       }

       varhttpRequest;

       functiongetStock(){


           //力求是最新的响应数据,如果存在httpRequest,那么将上次的httpRequest终止

           if(httpRequest){

               httpRequest.abort();

           }


           httpRequest=newXMLHttpRequest();

           httpRequest.open("GET","Refresh",true);

           httpRequest.onreadystatechange=callBackFunction;

           httpRequest.send(null);


       }


       functioncallBackFunction(){

           if(httpRequest.readyState==4){

               if(httpRequest.status==200){


                   //得到服务器端返回的JSON数据

                   vartext=httpRequest.responseText;


                   //解析成JavaScript对象

                   varjson=eval(text);


                   //遍历出每个JSON对象【也就是json的id】

                   for(varidinjson){


                       //得到每个stock对象

                       varstock=json[id];


                       //将当前的价格设置到span节点里面

                       document.getElementById(id).innerHTML=stock.current;


                       //比较当前价格和昨天开盘价格,如果大于就是红色,小于就是绿色

                       if(stock.current>stock.yesterday){

                           document.getElementById(id).style.color='red';

                       }else{

                           document.getElementById(id).style.color='green';


                       }

                   }


               }

           }

       }


  • 效果

41.gif

目录
相关文章
|
7月前
|
前端开发 JavaScript Java
使用Ajax进行异步交互:提升Java Web应用的用户体验
【4月更文挑战第3天】Ajax技术在Web开发中提升UX,通过与服务器异步交互实现页面局部更新,无需完整刷新。核心组件包括XMLHttpRequest、JavaScript、HTML/CSS及服务器端脚本。在Java Web应用中,可使用原生JavaScript或框架如jQuery、AngularJS实现Ajax请求。Ajax减少页面刷新,实现实时数据更新,即时表单验证和动态UI,显著改善用户体验,是现代Web开发不可或缺的一部分。
97 0
|
2月前
|
数据采集 自然语言处理 API
Python反爬案例——验证码的识别
Python反爬案例——验证码的识别
47 2
|
2月前
|
C#
C# 图形验证码实现登录校验代码
C# 图形验证码实现登录校验代码
91 2
|
2月前
|
存储 前端开发 Java
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
本文介绍了使用Kaptcha插件在SpringBoot项目中实现验证码的生成和验证,包括后端生成验证码、前端展示以及通过session进行验证码校验的完整前后端代码和配置过程。
263 0
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
|
3月前
|
前端开发 PHP
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
本文介绍了在ThinkPHP框架中使用验证码扩展库的方法,包括安装验证码扩展库、在页面中使用验证码、自定义验证码配置以及校验验证码的步骤和代码示例。
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
|
4月前
|
前端开发 Java UED
瞬间变身高手!JSF 与 Ajax 强强联手,打造极致用户体验的富客户端应用,让你的应用焕然一新!
【8月更文挑战第31天】JavaServer Faces (JSF) 是 Java EE 标准的一部分,常用于构建企业级 Web 应用。传统 JSF 应用采用全页面刷新方式,可能影响用户体验。通过集成 Ajax 技术,可以显著提升应用的响应速度和交互性。本文详细介绍如何在 JSF 应用中使用 Ajax 构建富客户端应用,并通过具体示例展示 Ajax 在 JSF 中的应用。首先,确保安装 JDK 和支持 Java EE 的应用服务器(如 Apache Tomcat 或 WildFly)。
47 0
|
4月前
|
NoSQL Java Redis
认证服务---整合短信验证码,验证码倒计时,验证码防刷校验 【一】
这篇文章介绍了如何在分布式微服务项目中整合短信验证码服务,包括使用阿里云短信验证接口、将短信验证功能集成到第三方服务中、其他服务的远程调用,以及通过Redis实现验证码防刷机制的代码实现和遇到的问题解决方案。
|
5月前
|
XML 前端开发 API
惊艳全场的秘诀!AJAX、Fetch API与Python后端,打造令人惊叹的Web应用!
【7月更文挑战第13天】构建现代Web应用的关键在于提供无缝用户体验,这涉及AJAX和Fetch API的异步数据交换以及Python(如Flask)的后端支持。Fetch API以其基于Promise的简洁接口,改进了AJAX的复杂性。例如,一个Flask应用可提供用户数据,前端利用Fetch API在不刷新页面的情况下显示信息。这种结合提升了效率,减少了服务器负载,是现代Web开发的趋势。随着技术发展,预期将有更多工具优化这一过程。
72 3
|
6月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
118 5
|
6月前
|
前端开发 Python
Django框架中Ajax GET与POST请求的实战应用
Django框架中Ajax GET与POST请求的实战应用