Angular存储来自JSON响应的数据保持双引号(%22)

And*_*ino 2 javascript cookies parsing json angularjs

我有一个PHP脚本返回:

{"result": "0", "token":"atoken" }
Run Code Online (Sandbox Code Playgroud)

用Angular调用脚本:

$http.post( API["R001"], $scope.user, {}).then($scope.postSuccess, null);
Run Code Online (Sandbox Code Playgroud)

并且在成功时我用这个来处理响应:

 $scope.postSuccess = function(response) {

    if(response.data.result == "0") {
        console.log(response.data.token);
        $cookies.putObject("token", response.data.token, {'path':'/'} );
        return;
    } ... 
Run Code Online (Sandbox Code Playgroud)

现在的问题是cookie存储了这个值:

%22atoken%22
Run Code Online (Sandbox Code Playgroud)

这是保持双引号.

Console.log()返回没有引号的值.

jkr*_*ris 5

你试过而不是$cookie.putObject使用$cookie.put

在我看来,你试图存储一个string$ cookie但 putObject接受一个类型的对象Object可能它执行一些解析导致双引号,同时put期望一个字符串.这是参考