/ / Je možné vytiahnuť údaje z miestneho úložiska HTML5 a uložiť ich do databázy servera? - php, javascript, mysql, html5, local-storage

Je možné vytiahnuť údaje z miestneho úložiska HTML5 a uložiť ich do databázy servera? - php, javascript, mysql, html5, local-storage

Mám nápad na sociálnu webovú aplikáciu a časťIde o to, aby sa údaje z lokálneho ukladania presunuli do databázy servera. Dôvodom je tvrdenie, že máte nápad a chcete ho uviesť na svoj ďalší stav pre túto sociálnu aplikáciu, ale nikde nemáte žiadny signál a bezdrôtové pripojenie. Napíšete stav do aplikácie a uloží ho na miestne úložisko, aby sa použilo, keď sa vrátia na miesto, kde môžu pripojiť svoj telefón online.

Potom sa dostanú na miesto, kde môžu ísť online, potom aplikácia zistí, že došlo k zmene v miestnom úložisku, odtiaľ ju odtiahne a uloží do databázy servera.

Je to vôbec možné, ak áno, ako by ste postupovali pri jeho implementácii? Ak to vôbec nie je možné, myslíte si, že by to mohlo byť niekedy v budúcnosti?

Teším sa na vaše pripomienky a odpovede na túto, pretože si myslím, že by to mohla byť dosť veľká diskusia.

odpovede:

3 pre odpoveď č. 1

Áno, je to možné, prečo by to nebolo? Keď vytiahnete údaje z lokálneho úložiska, údaje fungujú rovnako ako akékoľvek iné premenné jazyka Javascript, neexistujú žiadne obmedzenia, ktoré by vám zabránili odosielať ich na iný server, ako je nedostatok internetového pripojenia.

ako by si postupoval?

Najprv musíte zistiť stav pripojenia, viď táto otázka, Keď sa používateľ pokúsi aktualizovať svoj stav, skontroluje, či je pripojenie online a či nie je, potom ho uloží do lokálneho úložiska.

Pomocou metód v prepojenej otázke zistite, kedy sa pripojenie obnoví, a potom stiahnite údaje z lokálneho úložiska a odošlite ich na server prostredníctvom , potom vyčistite miestne úložisko, aby ste zabránili odosielaniu duplicitných údajov.


3 pre odpoveď č. 2

Môžete to pravidelne kontrolovať navigator.onLine vo svojom Javascripte získate online stav zariadenia. Všimnite si, že zatiaľ čo

  navigator.onLine == false

bezpečne vám povie, že zariadenie offline,

 navigator.onLine == true

nemusí to nevyhnutne znamenať, že má prístup na internet a môže vykonať požiadavku, iba ak je pripojený k akejsi sieti.

Len čo sa domnievate, že zariadenie nie je offline, pošlete žiadosť ajax (odporúčam použiť funkciu $ .ajax jQuery), v ktorej zverejníte údaje z miestneho úložiska.

(localStorage.getItem("dataToPull"))

do skriptu PHP, ktorý ho potom vloží do vašej databázy MySQL.

Ak táto žiadosť Ajax zlyhá a vy ste si istí, že je tonedostane chybu PHP / MySQL, je bezpečné predpokladať, že hoci je zariadenie pripojené k sieti a navigator.onLine je pravda, neexistuje pripojenie k internetu. Potom môžete urobiť nejaké spracovanie chýb, napr. znova vyzvite zariadenie o 5 minút.