1. 程式人生 > >非同步重新整理動態獲取資料

非同步重新整理動態獲取資料

近期在開發過程中接到一個小任務,就是需要pc端需要動態獲取SIS系統傳過來的小指標引數,做到時時重新整理的效果。說到時時重新整理,第一時間大家都會想到ajax非同步重新整理,因為也確實沒有什麼比這實現起來更加簡單的了。

SIS系統本身就是指標多,資料抓取要求時時同步最新的資料庫資料,而且要求要動態的獲取指標名稱展示,按照機組的分組動態的建立展示的表格(也就是有幾個機組建立幾個展示的table)。

要求明確,根據前端設計好的html頁面,先轉換成jsp頁面。然後建立訪問的servlet。jsp頁面將動態表格的內容抽取出來拼接到servlet中,而jsp頁面中只是一個簡單的ajax請求,程式碼如下:function page_click(){
$.ajax({
type : "post",
url : "<%=request.getContextPath()%>/CdGetDtSisdatasServlet/?eventtype=sisDatas",
dataType:"html",
async: false,
data:{},
success : function(data,textStatus){ 
//alert("成功");
$("#menu").html(data);
},
error:function(data){
alert("出內部錯:"+data);
}
});
}

成功之後直接返回html程式碼,展示轉換過的資料。為做到自動的時時重新整理,js寫一個定時函式:<body onload="setInterval('page_click()',3000)">,前端jsp頁面基本完成。

看servlet的實現。

servlet中的實現也比較簡單了。首先根據需求,將資料庫中的欄位動態的拼裝,變成可以接收sis系統的合法欄位,然後動態獲取資料。接著根據機組號動態插敘資料,分別存放在一個hashmap集合中。然後動態封裝建立表格的方法,部分程式碼塊如下:

{.......

htmldata.append("<td><p><span class=\"sj\">"+v2+"</span></p></td>\r\n");
htmldata.append("<td><p><span class=\"sj\">"+v3+"</span></p></td>\r\n");
htmldata.append("<td><p><span class=\"sj\">"+v4+"</span></p></td>\r\n");
htmldata.append("<td><p><span class=\"sj\">"+v5+"</span></p></td>\r\n");
htmldata.append("<td><p><span class=\"sj\">"+v6+"</span></p></td>\r\n");
htmldata.append(" </tr>\r\n");
}
htmldata.append("</table>\r\n");
return  htmldata.toString();

...........

這裡通過一個StrinBuffer 來講html程式碼進行了簡單的拼裝,這樣能最簡單的實現動態的建立表格,最後再主方法中呼叫動態建立表格的方法,最後

String htmltoString=htmldata.toString();
response.getWriter().write(htmltoString);
response.getWriter().flush();
return htmltoString;

這個小功能基本完成,最後附一張效果圖。

此案例是一個簡單的非同步重新整理案例,希望對初學者有所幫助。


相關推薦

非同步重新整理動態獲取資料

近期在開發過程中接到一個小任務,就是需要pc端需要動態獲取SIS系統傳過來的小指標引數,做到時時重新整理的效果。說到時時重新整理,第一時間大家都會想到ajax非同步重新整理,因為也確實沒有什麼比這實現起來更加簡單的了。SIS系統本身就是指標多,資料抓取要求時時同步最新的資料庫

ztree 使用asp.net mvc非同步動態獲取資料

<script src="~/Scripts/ztree/js/jquery-1.4.4.min.js"></script> <script src="~/Scr

thinkphp+ajax 移動端實現滾動到底部載入資料(無重新整理動態載入資料技術的應用)

監聽滾動條的js檔案地址:http://ons.me/526.html 1、dropload.css檔案 .dropload-up,.dropload-down{     position: relative;     height: 0; &n

ECharts 從後臺動態獲取資料 (asp.net)

(一) 使用工具 visual studio 2017;Web開發:asp.net (程式碼中的js引用路徑以及ajax方法呼叫的url,記得修改哦) (二) 準備工作(此處寫給和我一樣小白)   1.動態從後臺獲取資料,需使用Ajax獲取後臺Json,為此我們需要做一些準備工作,安裝兩個包(在vs的N

Web - ajax(非同步重新整理) & json(資料交換格式)

一、AJAX 1.ajax是什麼? AJAX: “Asynchronous JavaScript And XML”(非同步JavaScript和XML) 非同步重新整理: 不重新整理頁面的情況下 , 向伺服器傳送請求. 2.ajax原理: 1.1 &

vue+elementui 動態獲取資料 便利迴圈 生成el-radio-group

單選 先看一下單選實際效果圖   點選編輯圖示顯示 單選框實際上是比較簡單的。由於很多資料是從資料庫裡取出來的。先看一下我存入的資料格式,為了方便操作,我是單選一張表,多選一張表,當然也可以放在一起,我是為了靈活多用,避免資料混淆,出現bug,說到底就

使用ant design的modal中嵌入form表單,動態獲取資料

最近在做一個公司的專案,使用的是react然後用了ant design,在做一個功能的時候使用了modal,modal裡面還嵌套了一個子元件,就想子元件裡的id能動態獲取然後從介面拉資料,但是始終不行因為componentWillMount這個只進去的時候會渲染,後

【Echarts】簡單實現——第一個柱狀圖的實現(在後臺動態獲取資料

  第一次接觸這個東西,感覺還有點濛濛的。經過兩天的努力終於搞明白。下面我用自己的方式實現以下,方便大家理解。   下面是我使用一個簡單的mvc框架來實現這個demo。 效果圖: 步驟: 1、新建一個mvc框架的專案。 2、新建控制器:EchartsBa

Echarts折線圖動態獲取資料例項(附java後臺程式碼)

// 基於準備好的dom,初始化echarts例項 var myChart = echarts.init(document.getElementById('line')); // 指定圖表的配置項和資料 var option = {

ECharts動態獲取資料

最近做專案的需要,我不得不接觸一下Echarts這個外掛。以前看著網上的一些餅圖柱形圖之類的,我就想這應該只有牛人才做的出來吧!其實好多時候,一葉障目不見泰山,殊不知有好多看似覺得高大上的東西,在你接觸過了解後就知道,其實很簡單。下面這篇記錄一下我用Echarts簡單的AJ

echarts ajax 動態獲取資料

keys 和 values 都是動態資料 注意如果資料是{value:335, name:'直接訪問'}這種格式 需要使用eval('(' + strtojson + ')') 轉一下//載入圖表 start $(function(){ $.ajax(

Echarts -- 條件查詢ajax動態獲取資料

  最近因為需要用到了Echarts這個外掛,下面是自己的一點使用心得效果圖:直接上程式碼:js:<%@ page import="org.apache.commons.lang3.RandomStringUtils" %> <%@ page languag

ECharts餅圖從後臺動態獲取資料並展示

$.post( url, {'id' : gridStationSeq  },function(result) {if (result != null) {var label=[];var data = JSON.parse(result);var arr=[];alert

根據下拉值,使用ajax動態獲取資料(在頁面顯示資料

前端:1一個下拉html:此處省略2下面是ajax//動態選擇產品:根據產品型別動態編輯產品 function changepType() { $.ajax({ async :

JS通過ajax方式從資料庫動態獲取資料的程式碼

原文地址:http://www.sharejs.com/codes/javascript/8182 <!DOCTYPE html> <html> <head> <script> function showCustomer(

jquery autocomplete ajax動態獲取資料

</script>  方法二:前臺資料 <script> var info = [{"address_city" : "南通","name" : "mm"},  {"address_city" : "南通","name" : "cc"}];$().ready(function() 

thymeleaf中可以使用ajax動態獲取資料

轉:https://www.oschina.net/question/2820871_2237255$.ajax({ //使用JQuery內建的Ajax方法         type : "post", //post請求方式         async : true, //非

FullCalendar: 動態獲取資料

專案中需要用到日曆外掛,在進行一番比較之後選擇了FullCalendar,但是看官方文件的過程中發現文件寫得不是很友好(也可能是國人跟老外的思維方式不同,哈哈哈...),所以花了不少時間來完成自己想要的功能。FullCalendar請自行安裝,專案中涉及的功能如下: 1.

前臺使用ajax動態獲取資料並且顯示在頁面上,SSM框架二級聯動

<?xml version="1.0" encoding="UTF-8" ?>  <!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   "http://mybatis.org/dtd/mybatis-3-mapper.

ASP.NET中動態獲取資料使用Highcharts圖表控制元件

<%@ Page Title="" Language="C#" MasterPageFile="~/MyHome/MasterPage.master" AutoEventWireup="true" CodeFile="ryfb.aspx.cs" Inherits="MyHome_tixi_ryfb"%&