簡體   English   中英

是否可以從HTML5的本地存儲中提取數據並保存到服務器數據庫?

[英]Is it possible to pull data from HTML5's local storage and save to server database?

我有一個社交網絡應用程序的想法,部分想法是將數據從localstorage提取到服務器數據庫。 這樣做的原因是你有一個想法,你想把它放在你的社交應用程序的下一個狀態,但你沒有任何信號和無線。 您在應用程序上寫下狀態,並將其保存到本地存儲區,以便在他們返回可以在線連接手機的地方時使用。

然后他們到達一個他們可以上網的地方,應用程序然后檢測到localstorage中有一個更改,然后從那里拉出它並保存到服務器數據庫。

這是否可能,如果是這樣,您將如何實施它? 如果不可能的話,你認為這可能是將來的某個時候嗎?

我期待聽到您對此問題的評論和答案,因為我認為這可能是一次非常大的討論。

是的,有可能,為什么不呢? 當您從本地存儲中提取數據時,數據就像任何其他Javascript變量一樣,沒有任何限制會阻止您將其發送到除缺少Internet連接之外的服務器。

你將如何實施它?

首先,您需要檢測連接狀態,請參閱此問題 因此,當用戶嘗試更新其狀態時,它會檢查連接是否在線,如果不是,則將其保存到本地存儲。

使用鏈接問題中的方法檢測連接何時恢復,然后從本地存儲中提取數據並通過將其發送到服務器,然后清除本地存儲以防止發送重復數據。

您可以定期檢查Javascript中的navigator.onLine以獲取設備的在線狀態。 請注意,雖然

  navigator.onLine == false 

安全地告訴你一個離線的設備,

 navigator.onLine == true 

並不一定意味着它可以訪問互聯網並且可以執行請求,只是它連接到某種網絡。

一旦你認為設備沒有脫機,你就會發送一個ajax請求(我建議使用jQuery的$ .ajax函數),你可以從localStorage中發布數據

(localStorage.getItem('dataToPull'))

到PHP腳本,然后將其插入MySQL數據庫。

如果該ajax請求失敗,並且您確定它沒有得到PHP / MySQL錯誤,則可以安全地假設雖然該設備已連接到網絡並且navigator.onLine為true,但是沒有互聯網連接。 然后,您可以進行一些錯誤處理,例如在5分鍾內再次輪詢設備。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM