前端與後臺互動
阿新 • • 發佈:2018-12-21
互動方式
-
http請求(問答模式)
通過傳統的傳送請求接收相應,一問一答的模式獲得資料,主要負責傳遞引數,接收資料模版,渲染資料,對資料幾乎不操作
-
輪詢(用於獲取最新的資料)
-
對於資料的實時性有要求時,可以採用輪詢的方式,隔幾秒鐘傳送一次請求詢問後臺是否有最新的資料,如果接收到了最新的資料,便更新自己的檢視層(推薦)
-
可以每次都請求後臺獲取最新的資料,查庫(行為),之後在前端判斷上次資料和這次接收資料是否一致,不一致便更新檢視
-
每次請求後臺獲取最新資料,之後直接更新檢視(不推薦)
-
注意
-
需設定輪詢次數(最大輪詢值)
當輪詢100(假定值)次還未接收到最新的資料時,便可以將此條輪詢去除
-
離開或銷燬頁面時需清理輪詢
-
-
-
-
websocket模式
通過websocket進行伺服器長連線,伺服器端負責判斷是否有最新資料,當發現最新資料便向前端主動推送
-
資料實時性
由於是伺服器端推送的訊息,幾乎是事件發生便將資料推送給了前端
-
健全
由於是長連線,對於web端的資料來源需要強驗證,利用引數健全(地址+每次傳送訊息時攜帶資訊),如果攜帶的secret / key不正確時,伺服器端便主動中斷連線
-
斷網重練
由於受到網路或其他因素的影響,socket連線有時會中斷,這個時候需要被斷端主動傳送一次請求用於重新建立連線(onError、onClose)
需要設定重新連線的次數,當超過limit時變將嘗試連線取消
-