如何在浏览器中存储会话?

问题描述 投票:1回答:1

我在后端使用play framework 2.8.x,在前端使用angular 8。我需要在服务器端的会话中存储一些数据,但由于后端和前端在不同的端口上工作而无法执行,后端为localhost:9000,前端为localhost:4200,并且我的会话未存储在该端口中浏览器。那是我在后端的控制器:

public class UserController extends Controller {
    public Result verifyToken(Http.Request request) {
        return ok(userInfo).addingToSession(request, "sessionData", "test");
    }
}

这是我的前端:

export class HttpService {
    sendRequestToBackend(tokenValue: String): Promise<boolean> {
    return new Promise<boolean>(((resolve, reject) => {
      let url = "localhost:9000/user/verifyToken";
      const tokenRequest = { token: tokenValue };
      let body = JSON.stringify(tokenRequest);
      let options = this.getHttpOptions();
      this.http.post(url, body, options)
        .subscribe(
          res => {
            resolve(true);
          }, error => reject(error)
        );
    }));
  }
}

[当服务器在响应对象中向客户端发送响应时,我从服务器端看到了cookie,但是这个没有保存在浏览器cookie中。Response headers from the server我该如何解决这个问题?如何从localhost:9000localhost:4200中保存cookie?

java angular playframework
1个回答
0
投票

从下面的URL收到响应后

localhost:9000 / user / verifyToken

您可以使用localstorage

您可以使用DOM元素。

如下

以下代码段访问当前域的本地存储对象,并使用Storage.setItem()向其添加数据项。

  1. localStorage.setItem('myCat','Tom');

  2. var cat = localStorage.getItem('myCat');

  3. localStorage.removeItem('myCat');

  4. localStorage.clear();

© www.soinside.com 2019 - 2024. All rights reserved.