如何使用Dart在浏览器中读取cookie?

时间:2017-03-02 20:22:04

标签: browser dart

问题看起来很简单但我无法在文档中找到如何在没有第三方库的情况下在客户端读取Dart的cookie。

我该怎么办?

2 个答案:

答案 0 :(得分:6)

dart:html库中,您可以使用document.cookie。这将在客户端上返回String 所有 Cookie。每个cookie用分号分隔,键值对用"="分隔。实施例;

"foo=bar; otherFoo=otherBar"

因此,您可以将String相应地拆分为您要使用的数据类型。

另见:Document.cookie - Web APIs | MDN

答案 1 :(得分:1)

我使用document.cookie和此类来维护cookie。

import 'dart:html';

class CookieManager {

  static addToCookie(String key, String value) {
    document.cookie = "$key=$value;";
  }
  
  static String getCookie(String key) {

    String cookies = document.cookie;
    List<String> listValues = cookies.isNotEmpty ? cookies.split(";") : List();
    String matchVal = "";
    for (int i = 0; i < listValues.length; i++) {
      List<String> map = listValues[i].split("=");
      String _key = map[0].trim();
      String _val = map[1].trim();
      if (key == _key) {
        matchVal = _val;
        break;
      }
    }
    return matchVal;
  }
}