gpt4 book ai didi

angular - 403 仅在我的机器上 - Angular 2 和 Tomcat 8.5

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:58 24 4
gpt4 key购买 nike

所以我在做一个小组项目,我们所有人都将我们的 git 分支推送到 master 的头上。这意味着我们都在运行相同的代码。当我们转到项目的登录页面时,我们的 ngOnInit() 会发送一个包含自定义 header 的 header 的获取请求,对吧?

createAuthorizationHeader(headers: Headers) {
let sessionID = JSON.parse(localStorage.getItem('user-data')).JSESSIONID;
headers.append('JSESSIONID', sessionID);
headers.append('Access-Control-Allow-Headers', 'JSESSIONID');
headers.append('Access-Control-Allow-Origin', 'http://localhost:4200/webplayer');
}

ngOnInit() {
let header = new Headers();
this.createAuthorizationHeader(header);
let params = new URLSearchParams();
let options = new RequestOptions({ headers: header, params: params });

this.http.get('http://localhost:8080/sample-webapp/rest/music/landingPage', options)
.subscribe(data => this.popularArtists = JSON.parse(data["_body"]).popularArtists);

似乎无害,我的队友得到了 200 作为回应,但我收到了这条消息:

403 Preflight Error Message

顺便说一句,这个请求与我机器上的 postman 一起工作,所以它让我认为这一定与浏览器有关(Safari、Chrome 和 Firefox 也有同样的问题)。

所以我们已经完成了从向服务器的 web.xml 添加附加字段,到添加选项注释,到删除 cookie 的所有操作。我真的很想知道它不能只在我的机器上工作。我可能在前面的步骤中遗漏了一些东西,所以请告诉我什么是可行的。我还可以根据要求添加我的 web.xml 和其他内容。

后端 CORS 过滤器:

    response.getHeaders().add("Access-Control-Allow-Origin", request.getHeaderString("origin"));
response.getHeaders().add("Access-Control-Allow-Headers", request.getHeaderString("access-control-request-headers"));
response.getHeaders().add("Access-Control-Allow-Credentials", "true");
response.getHeaders().add("Access-Control-Expose-Headers", "JSESSIONID");
response.getHeaders().add("Access-Control-Allow-Methods", request.getHeaderString("access-control-request-method"));

最佳答案

所以我们想通了,把头函数改成这样:

createAuthorizationHeader(headers: Headers) {
let sessionID = JSON.parse(localStorage.getItem('user-data')).JSESSIONID;
headers.append('JSESSIONID', sessionID);
}

它奏效了。如果有人能告诉我原因,我将不胜感激。

关于angular - 403 仅在我的机器上 - Angular 2 和 Tomcat 8.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47478691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com