1. 程式人生 > >Ajax定時從伺服器取資料

Ajax定時從伺服器取資料

var secs = 300; //倒計時的秒數
function doUpdate(num)
{
if (num % 3 == 0)
   {
saveUserInfo();
   }
}
for(var i = secs; i >= 0; i--)
{
window.setTimeout("doUpdate(" + i + ")", (secs-i) * 1000);
}
就是用倒計時的原理,每當變數 secs 能夠整除 3,就執行 saveUserInfo() 函式,以實現每三秒從伺服器獲取一次值。但這麼做首先是不高效的,因為每次都需要作一次邏輯判斷。其次也程式不明瞭。
現在用迴圈巢狀的方式實現了這一功能。
function saveUserInfo() { //獲取接受返回資訊層 var cdown = document.getElementById("cdown"); //alert(cdown); //接收表單的URL地址 var url = "word.php"; var ajax = false; //開始初始化XMLHttpRequest物件 if(window.XMLHttpRequest) { //Mozilla 瀏覽器 ajax = new XMLHttpRequest(); if (ajax.overrideMimeType) { //設定MiME類別 ajax.overrideMimeType
("text/xml"); } } else if (window.ActiveXObject) { // IE瀏覽器 try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!ajax) { // 異常,建立物件例項失敗 window.alert("不能建立XMLHttpRequest
物件例項."); return false; } //通過Post方式開啟連線 ajax.open("GET", url, true); //定義傳輸的檔案HTTP頭資訊 //ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.setRequestHeader("If-Modified-Since","0"); //傳送POST資料 ajax.send(null); //獲取執行狀態 ajax.onreadystatechange = function() { //如果執行狀態成功,那麼就把返回資訊寫到指定的層裡 if (ajax.readyState == 4 && ajax.status == 200) { cdown.innerHTML = ajax.responseText; } } } function doUpdate() { saveUserInfo(); window.setTimeout("doUpdate()", 8000); } doUpdate(); 其實最關鍵的就是以下部分程式碼: function doUpdate() { saveUserInfo(); window.setTimeout("doUpdate()", 8000); } doUpdate(); 首先通過 doUpdate() 啟動函式執行,執行 doUpdate() 時,呼叫 saveUserInfo() 從伺服器取值,然後8秒後再呼叫自身,那麼就實現了,只要頁面存在多久,取值就會永遠迴圈下去。一個遞迴,使程式大大簡化了。

相關推薦

Ajax定時伺服器資料

var secs = 300; //倒計時的秒數 function doUpdate(num) { if (num % 3 == 0) { saveUserInfo(); } } for

Ajax實現定時伺服器獲取資料定時更新資料

一般來說,我們很容易想到用如下演算法來實現隔一段時間從伺服器取值:var secs = 300; //倒計時的秒數 function doUpdate(num) { if (num % 3 == 0) { saveUserInfo(); } }

ExtJS6 treegrid 一次載入資料後,點選展開仍然會伺服器資料

Ext.create("Ext.tree.Panel", { flex: 1, store: { type: 'tree', fi

$.ajax()方法伺服器獲取json資料幾種方式詳解

一.什麼是json json是一種取代xml的資料結構,和xml相比,它更小巧但描述能力卻很強,網路傳輸資料使用流量更少,速度更快。 json就是一串字串,使用下面的符號標註。 {鍵值對} : json物件 [{},{},{}] :json陣列 "" :雙引號內是屬性或值

通過jquery ajax伺服器獲取一個檔案的資料,顯示到客戶端的頁面

           問題背景:                        開啟記事本,寫一個html頁面,從本地讀一個檔案,顯示的頁面上,這個操作很容易實現。但是要想從讀伺服器上的一個檔案,然後想顯示到頁面上。光用普通的javascript技術和html知識是不夠用的

$.ajax()方法伺服器獲取json資料

一.什麼是jsonjson是一種取代xml的資料結構,和xml相比,它更小巧但描述能力卻很強,網路傳輸資料使用流量更少,速度更快。json就是一串字串,使用下面的符號標註。{鍵值對} : json物件[{},{},{}] :json陣列"" :雙引號內是屬性或值: :冒號前為

根據ajax伺服器獲取資料的時間和ID,根據最近的時間,顯示一個記錄重複ID的數字

success:function(data){  if(data.length>0){   var map = {};for (var i in data) {   var user_id = data[i]["USER_ID"];   if (map[user_id

Android伺服器圖片向Bitmap載入時記憶體溢位問題

最近暑假在做一個APP專案,需要從伺服器取圖片。 突然就顯示 BitmapFactory.decodeStream java.lang.OutOfMemoryError 意思是記憶體溢位了,在網上搜索後已解決。現在將查到的解決方法進行整理一下,方便下次遇到時可以使用。 首先顯

一般方式和ajax方式後臺獲取資料載入進網頁

1,普通方法無非就是先訪問相應servlet拿到資料,存到request域中,跳轉到jsp頁面,通過jsp標籤遍歷拿到資料,前面的文章提到了點選開啟連結。 2,若想通過某些規則校驗表單資料,沒有訪問資料庫,jquery是你不二選擇,點選跳轉到jquery表單校驗外掛 3,通過aj

form資料

1.知道FORM名稱,查詢出具體掛在什麼職責下,要求通過查詢結果可以一步步展開對應職責直接找到該FORM,輸入條件為FORM名稱 --1 SELECT form.form_name, --form.form_id, --func.function_id,

python爬蟲定時增量爬資料

解決要點: 1.定時更新 2.增量爬取 以上兩個技術關鍵點均可基於scrapy開源爬蟲框架擴充解決 解決 1.定時爬取 在linux下使用crontab來執行scrapy定時爬取的需求。 Crontab命令是Unix系統和類Unix系統中,用來設定週期性執行的

小程式伺服器獲取資料以及帶參傳資料 php

此前沒有摸索過小程式,原本打算看視訊教學慢慢走的,發現老師講的基本都是文件,於是乾脆直接實踐。 要實現這樣一個排行 官方文件上的東西我就不照搬了 var that = this; wx.request({ //請求介面的地址

bootstrap-table的入門使用——伺服器獲取資料

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                這裡需要使用 bootstrap-table 外掛。使用了CSS3loader顯示載入過程。效果如下:index.html<!DOCTYPE html&g

GET方式伺服器獲取資料

<span style="font-size:18px;">import java.io.ByteArrayOutputStream; import java.io.IOException

C# 關於資料庫資料,並顯示在DataGridView中

從資料庫取資料,並顯示在DataGridView中,這種做法在.net開發經常用到。那麼到底該怎麼做呢? 1.要從資料庫取資料,必須建立資料庫連線 2.將資料庫中取到的資料通過一定方法,顯示在介面的的dataGridView中 程式碼:    效果如下: 從中,我們可以

JQuery伺服器獲取資料

備註:引數不全 1.url:  要求為String型別的引數,(預設為當前頁地址)傳送請求的地址。 2.type:  要求為String型別的引數,請求方式(post或get)預設為get。注意其他http請求方法,例如put和delete也可以使用,但僅部分瀏覽器支援。 3.timeout:  要求為Num

js方式利用Ajax技術後臺獲得資料

  不使用Jquery等js類庫,使用js方式建立xmlHttpRequest物件,關鍵是需要判斷瀏覽器是否支援Ajax技術,然後向伺服器提交請求,處理伺服器返回的資料。 程式碼如下: <script type="text/javascript">   var

vue單頁應用中,使用setInterval()定時伺服器獲取資料,後來跳轉頁面後,發現還在不停的獲取資料

使用VUE開發單頁專案時遇到這樣的問題,mounted中使用setInterval()定時向伺服器獲取資料,後來跳轉頁面後,發現還在不停的獲取資料。我以為是因為我路由用的push導致的,改成replace也是這樣,後來就在部落格園找到答案了,如下: http://www.cnblogs.com/zzbp/p/

php 使用webservice伺服器獲取資料時中文亂碼

本小白由於公司erp需求,讓我來搞webservice這塊。 伺服器端為本公司的伺服器,客戶端為自己的主機。 從伺服器的sql資料庫獲取了對於的資料後,從客戶端獲取了。 結果發現中文出現亂碼。 查看了多個地方引數。頁面沒問題,兩邊的引數設定都沒問題的。 webservic

ajax實現後臺拿資料顯示在HTML前端

HTML頁面,ajax是基於id的,所有用id表示。 拿到的資料會顯示在這裡 <div id="test"></div> ajax原始碼: $(document).ready(function() {             $.ajax({