摘要:概念輪詢客戶端按規(guī)定時(shí)間定時(shí)像服務(wù)端發(fā)送請求,服務(wù)器接到請求后馬上返回響應(yīng)信息并關(guān)閉連接。判斷表是否有數(shù)據(jù),并執(zhí)行對應(yīng)輸出。實(shí)際項(xiàng)目中的話查詢語句就根據(jù)實(shí)際需求來定就可以了。
Ajax輪詢——"定時(shí)的通過Ajax查詢服務(wù)端"。
概念:
輪詢(polling):客戶端按規(guī)定時(shí)間定時(shí)像服務(wù)端發(fā)送ajax請求,服務(wù)器接到請求后馬上返回響應(yīng)信息并關(guān)閉連接。
百聞不如一見,來段代碼相信你一看就明白
//為了讓同學(xué)們都明白,我用了最簡單的實(shí)現(xiàn)方法,同學(xué)們懂了原理后可以自行衍生:
Reception.html //前端代碼
//服務(wù)端。
server_polling.php
query("select * from t1"); $result = $resource->fetchall(); if ($result) { //exits data print_r(json_encode(array("success"=>"存在數(shù)據(jù)"))); exit(); } print_r(json_encode(array("failed"=>"不存在數(shù)據(jù)"))); exit(); ?>
上面就是最基本最簡化的Ajax輪詢。判斷t1表是否有數(shù)據(jù),并執(zhí)行對應(yīng)輸出。 實(shí)際項(xiàng)目中的話查詢語句就根據(jù)實(shí)際需求來定就可以了。
Ajax輪詢最關(guān)鍵的地方在于"window.setInterval(function(){$.ajax(getting)},1000);" ,也就是文章開頭所說的"客戶端按規(guī)定時(shí)間定時(shí)像服務(wù)端發(fā)送ajax請求"。
我們用圖解釋一下吧:
從圖中我們可以看出,客戶端是按照規(guī)定時(shí)間(這個(gè)時(shí)間由你設(shè)定,此處默認(rèn)為1秒)像服務(wù)端發(fā)送請求,前一次請求完成后,無論有無結(jié)果返回,一秒之后下一次請求又會發(fā)出。這就叫做Ajax輪詢。
用偽代碼來表示一下:
最關(guān)鍵的地方在于,客戶端需要通過JS設(shè)定一個(gè)定時(shí)器,按照規(guī)定時(shí)間不斷的請求。
容易吧,其實(shí)真就沒那么難,很多時(shí)候,僅僅是我們自己被新技術(shù)嚇到罷了
嗯那么我們接下來看看Ajax 長輪詢,算是Ajax輪詢的升級版
用大白話揭開Ajax長輪詢(long polling)的神秘面紗
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21534.html
摘要:不得不說確實(shí)是一個(gè)好東西,由它的出現(xiàn)使得端新技術(shù)不斷產(chǎn)生,就屬于這么一個(gè)技術(shù),這個(gè)技術(shù)有時(shí)叫做反向,有時(shí)叫做服務(wù)器推技術(shù),嗯,不要被牛逼閃閃的名詞嚇倒,其實(shí)沒那么難。 不得不說Ajax確實(shí)是一個(gè)好東西,由它的出現(xiàn)使得WEB端新技術(shù)不斷產(chǎn)生,Comet就屬于這么一個(gè)技術(shù),這個(gè)技術(shù)有時(shí)叫做反向AJAX,有時(shí)叫做服務(wù)器推技術(shù),嗯,不要被牛逼閃閃的名詞嚇倒,其實(shí)沒那么難。 先看一下維基的解釋:...
摘要:國際慣例,先上維基百科的解釋。維基百科上面是維基百科對的解釋,別問我如何解釋上面這段話,因?yàn)槲乙矝]看懂,那么下面我用人話解釋一下吧僅僅是我的理解是一個(gè)協(xié)議,可以簡單看成是協(xié)議的一個(gè)補(bǔ)充協(xié)議,借助協(xié)議的基礎(chǔ)完成服務(wù)器主動與客戶端實(shí)時(shí)傳輸數(shù)據(jù)。 現(xiàn)在,很多網(wǎng)站為了實(shí)現(xiàn)推送技術(shù),所用的技術(shù)都是輪詢。輪詢是在特定的的時(shí)間間隔(如每1秒),由瀏覽器對服務(wù)器發(fā)出HTTP request,然后由服務(wù)...
摘要:在標(biāo)準(zhǔn)沒有推出之前,輪詢是唯一可行的方式通過瀏覽器也可以,但這里不做討論。這種方式存在延時(shí)且對服務(wù)端造成很大負(fù)載。直到年,才標(biāo)準(zhǔn)化一種基于套接字進(jìn)行收發(fā)數(shù)據(jù)的協(xié)議。現(xiàn)如今主流瀏覽器均已支持。 socket.io提供了基于事件的實(shí)時(shí)雙向通訊 歷史 Web端與服務(wù)器間的實(shí)時(shí)數(shù)據(jù)傳輸?shù)氖且粋€(gè)很重要的需求,但最早只能通過AJAX輪詢詢實(shí)現(xiàn)。在WebSocket標(biāo)準(zhǔn)沒有推出之前,AJAX輪詢是唯...
摘要:在看這篇長輪詢之前可以先看看輪詢技術(shù)沒有長,有助于理解長輪詢屬于輪詢的升級版,在客戶端和服務(wù)端都進(jìn)行了一些改造,使得消耗更低,速度更快。不間斷的通過查詢服務(wù)端。然后客戶端不間斷繼續(xù)發(fā)起請求數(shù)據(jù)不存在,繼續(xù)循環(huán)。 在看這篇Ajax長輪詢之前可以先看看Ajax輪詢技術(shù)(沒有長),有助于理解: Ajax長輪詢屬于Ajax輪詢的升級版,在客戶端和服務(wù)端都進(jìn)行了一些改造,使得消耗更低,速度更快。...
摘要:作為一個(gè)老前端,本案例是基于來寫的。前端渲染頁面拿數(shù)據(jù),無非就是,其他的暫時(shí)沒有用過,但項(xiàng)目還是使用比較多。不管或都會執(zhí)行代碼就到這里了, 作為一個(gè)老前端,本案例是基于jquery來寫的。 前端渲染頁面拿數(shù)據(jù),無非就是ajax、socket,其他的暫時(shí)沒有用過,但項(xiàng)目還是使用ajax比較多。 下面來看一下一個(gè)簡單基于ajax短輪詢的請求 function req() { $.a...
閱讀 743·2021-11-17 09:33
閱讀 3779·2021-09-01 10:46
閱讀 1764·2019-08-30 11:02
閱讀 3293·2019-08-29 15:05
閱讀 1409·2019-08-26 11:39
閱讀 2285·2019-08-23 17:04
閱讀 1984·2019-08-23 15:43
閱讀 1381·2019-08-23 14:12