AngularJs 操作 Cookie の例の共有

小云云
小云云オリジナル
2018-03-08 15:26:121716ブラウズ

Cookie は、クライアント側のテクノロジーであると言えます。プログラムは、ユーザーの情報の一部を Cookie の形式でユーザーのそれぞれのブラウザに書き込みます。端的に言えば、ユーザーの身元を特定するために Web サイトによってユーザーのコンピューターに保存されるデータです。 多くのショッピングサイトのショッピングカート機能やフォーラム自動ログイン機能はCookieにより実現されています。

Cookie に対する操作には、保存、取得、削除が含まれます。

Angular は、ユーザーの利便性と Cookie の操作の簡素化のために ngCookies モジュールを提供します。このモジュールでは、次の 2 つのサービスが提供されます。

  1. $cookieStore サービス

  2. $cookies サービス

まず $cookies について話しましょう。

$cookies は jQuery.cookie.js に似ており、次のサービスを提供します。 Angular の操作 Cookie メソッド。通常の状況では、JavaScript は Cookie にオブジェクトを書き込むことができませんが、Angular は Cookie にオブジェクトを書き込むメソッドを提供します。 $cookies は次のメソッドを提供します:

get(key) 返回一个指定key的cookie值
getObject(key) 返回一个指定key的反序列化cookie值
getAll() 以key-value对象形式返回所有的cookie
put(key,value,[options]) 写入一个key-value的cookie
putObject(key,value,[options])序列化设置一个key-value的Cookie
remove(key,[options]) 移除对应key的cookie
demo:比如用户登录,记住密码的cookie有效期是7天。
  var cookieInfo= {};
  cookieInfo.username = $scope.username;
  cookieInfo.password = $scope.password;
  var expireDate = new Date();
  expireDate.setDate(expireDate.getDate() + 7);//设置cookie保存7天
  $cookies.putObject("user", cookieDate, {'expires': expireDate});
获取也很方便:
$scope.ID = $cookies.getObject("user").username;
$scope.sid = $cookies.getObject("user").password;
简单的只有一个key-value的话用put()比较简单,但是是过期时间是session,关闭浏览器就没有了。
$cookies.put('myFavorite', 'oatmeal');
再说说$cookieStore ,$cookieStore服务是基于后端的Session Cookies,所以写入的时候不能使用options属性,
而且它的过期时间就是session。关闭浏览器了,cookie就失效了。
$cookieStore不可以通过设置default里面的expires来设置过期时间,$cookieStore操作Cookie都是基于Session过期的。
所以上面的例子你如果使用$cookieStore来实现记住用户名和密码的话,关闭浏览器cookies就失效了,无法达到记住n天的这个功能。
$cookieStore.put("user", {
                username:aaa,
                password:123
               expires: new Date(new Date().getDate() + 5000)
            });

これにより、有効期限は無効になります。 ! ! !

概要:

ngCookies モジュールによって提供される $cookies サービスは、開発者が Cookie を読み書きするのに非常に便利です。オブジェクトの書き込みと読み取りもサポートされており、より便利で使いやすくなっています。当時の開発プロセスでは、まだ Cookie にあまり多くのデータを書き込むことができませんでした。一方、Cookie に機密データを書き込むことはセキュリティの観点から危険でした。パスワードは暗号化方式でバックエンドと合意する必要があり、クリア テキストで直接保存することはできないため、非常に安全ではありません。 Cookie を使用する場合は、パスとドメインの落とし穴に注意する必要があります。問題はありません。

最後に: Angular 公式 Web サイトは、$cookieStore は廃止され、$cookies サービスの使用が推奨されることを思い出させました。

関連する推奨事項:

JavaScript操作CookieとCookie属性の正しい使用_JavaScriptスキル

jQueryを使用してCookieを操作するための実装コード_jquery

JS操作Cookieには(読み取り、追加、削除)_JavaScriptスキル

以上がAngularJs 操作 Cookie の例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。