角度cookie出现在编码字符中

Wol*_*lfr 12 javascript cookies angularjs angular-cookies

鉴于一些数据:

$scope.devices = [
  { name: 'iPhone 4', os: 'iOS'},
  { name: 'Nexus 7', os: 'Android'},
];
Run Code Online (Sandbox Code Playgroud)

以及设置cookie的功能:

$scope.saveDeviceChoice = function() {
  $cookieStore.put('savedDevice', $scope.deviceChoice.name);
}
Run Code Online (Sandbox Code Playgroud)

我得到一个价值%22Nexus%207%22的cookie而不是我期望的:Nexus 7.

这就是Web检查器中的样子

我真的很困惑 - 似乎%22是一个引用而%20是一个空格,不知何故,这个值被保存为"编码".谁知道发生了什么?

Ye *_*Liu 7

这是$ cookieStore的官方文档:

提供由会话cookie支持的键值(字符串对象)存储.从此存储中放入或检索的对象将由angular的toJson/fromJson自动序列化或反序列化.

然后商店保存该值的URL编码版本.看一下这篇文章,有一节解释了cookie编码.