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

时间:2020-03-04 09:29:12

标签: java angular playframework

我在后端使用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:9000的{​​{1}}中保存cookie?

1 个答案:

答案 0 :(得分:0)

收到以下网址的回复

localhost:9000 / user / verifyToken

您可以使用--version-suffix "alpha"

您可以使用DOM元素。

如下

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

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

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

  3. localStorage.removeItem('myCat');

  4. localStorage.clear();