こんちには、フリーのITエンジニアでWeb(PHP:Laravel)のバッグエンドをメインにフルリモートでお仕事させて頂きながら、個人開発でiOSアプリを作っているMoritaです。
CakePHPで開発をしていて、遅まきながらLocalStorageを知りました。
どういうものなのか、どういった部分で困ったのかを紹介したいと思います。
LocalStrageとは?
ブラウザにデータを保有するものになります。
Cookieと何が違うの?と疑問に思う方もいると思います。
Cookieとは概ね以下の違いがあります。
1.保存容量が大きい。
ブラウザによって変わるが、約倍ほどの容量が使える。
2.サーバにデータ送信をしない。
CookieはSessionとしてサーバで扱うことができますが、LocalStrageは送信されません。サーバ側でデータを受け取りたい場合は後述します。
3.有効期限が半永久。
LocalStrageは消さない限り半永久的にのこります。Cookieは設定値によって変更できます。
サーバにデータを送るには?
先にも書きましたがLocalStrageはサーバ側にデータを送れません。
でもサーバ側でデータを使用したいことがあると思います。
その場合は以下の方法で送信することになります。
1.ajaxを使用する。
2.GETのパラメータクエリを使用する。
ネットで検索すると1.の方法がメジャーかと思います。
データ量や内容によっては2.の方法を使用した方が簡単だと思います。
状況に応じて選定をしましょう。
その他
LocalStrageと同じようなもので、SessionStrageというものがあります。
LocalStrageとの違いは、ウィンドウ単位での管理になるようです。
ちなみちLocalStrageとSessionStrageをあわせてWebStrageと言われています。
まとめ
LocalStrageは保存容量が多く半永久的に保存されますが、サーバにデータ送信されません。送信するためにはajaxやGETのクエリパラメータを使用することになります。
コメント