我在后端使用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中。
我该如何解决这个问题?如何从localhost:9000
的{{1}}中保存cookie?
答案 0 :(得分:0)
收到以下网址的回复
localhost:9000 / user / verifyToken
您可以使用--version-suffix "alpha"
您可以使用DOM元素。
如下
以下代码段访问当前域的本地存储对象,并使用Storage.setItem()向其添加数据项。
localStorage.setItem('myCat','Tom');
var cat = localStorage.getItem('myCat');
localStorage.removeItem('myCat');
localStorage.clear();