網(wǎng)頁(yè)一般是單向主動(dòng)短鏈接,實(shí)時(shí)更新實(shí)在有些不便,即使一方掉線,另一方也不能及時(shí)感知。一般所謂的實(shí)時(shí)刷新,大多采用定時(shí)刷新(輪詢),或長(zhǎng)輪詢的方式做,ajax用于更新數(shù)據(jù)確實(shí)是比較簡(jiǎn)單方便的。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的新樂(lè)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
輪詢你就settimeout,長(zhǎng)輪詢你就每次接收數(shù)據(jù)成功后,再來(lái)一次長(zhǎng)輪詢。但你鏈接別人的數(shù)據(jù),了解一下供應(yīng)商的刷新機(jī)制、周期再做考慮。
當(dāng)然這些都是偽實(shí)時(shí),真的實(shí)時(shí)用http協(xié)議是不合適的,你得用flash插件做。而你用的是api供應(yīng)商的東西,這條路就基本走不通了。
有兩種實(shí)現(xiàn)方法:
1、你可以用PHP服務(wù)器推技術(shù),當(dāng)數(shù)據(jù)發(fā)生變化時(shí),主動(dòng)推送到頁(yè)面顯示。相關(guān)技術(shù)可以參考文檔。百度也很多。
2、你可以用Javascript,每過(guò)一秒鐘,使用Ajax獲取數(shù)據(jù),一秒鐘刷新一次,也可以實(shí)現(xiàn)的。
第一種我也不會(huì)。第二種相信你可以的。
while的話是循環(huán),你用了只會(huì)一行行加
不刷新頁(yè)面更新數(shù)據(jù),一般有兩個(gè)方法實(shí)現(xiàn),都離不開(kāi)JAVASCRIPT?,F(xiàn)在最流行的就是AJAX,是用JS腳本連接數(shù)據(jù)庫(kù)更新數(shù)據(jù),刷新頁(yè)面部分區(qū)域內(nèi)容,不刷新整個(gè)網(wǎng)頁(yè)。另外一個(gè)是比較經(jīng)典、但是兼容性更高的方法,設(shè)置一個(gè)隱藏的FRAME或者iFRAME幀,那個(gè)幀不斷刷新PHP頁(yè)面,頁(yè)面內(nèi)容為改變可見(jiàn)幀內(nèi)容的JS。
這需要前后端配合,前端需要實(shí)時(shí)監(jiān)聽(tīng)后端api返回?cái)?shù)據(jù)是否更新,或者后端也可以采用socket長(zhǎng)連接保持?jǐn)?shù)據(jù)推送,不讓前端實(shí)時(shí)請(qǐng)求