【问题标题】:How to enable cors issue in Angular2 with Backend as Liferay server如何使用后端作为 Liferay 服务器在 Angular2 中启用 cors 问题
【发布时间】:2017-05-21 23:22:37
【问题描述】:

我是 Angular2 的新手。我必须创建新的 Angular 应用程序并需要使用 Liferay 服务器的服务。

但是当我使用下面的代码调用服务时,它给出了 Cors 错误。

var headers = new Headers();

    headers.append('Access-Control-Allow-Origin', '*');
    headers.append("Content-Type", "application/x-www-form-urlencoded");
    let params: URLSearchParams = new URLSearchParams();   

    this.http.get(localStorage.getItem('domainName')+'/service-name', {headers: headers})
        .subscribe(response => {
            // login successful if there's a jwt token in the response
            console.log('Response'+response.json());
    });

我的后端方法是 GET,我在 /webapps/Root/web.xml 文件中添加了 Cors 过滤器属性

但在浏览器控制台中它给出以下错误:

XMLHttpRequest 无法加载 http://localhost:9080/service-name。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://localhost:4200' 不允许访问。响应的 HTTP 状态代码为 401。

【问题讨论】:

标签: java angular cors liferay-6


【解决方案1】:

当后端的响应没有必要的Access-Control-Allow-Origin 标头时,会出现此错误。请仔细检查后端的标头是否配置正确。此外,前端的请求不必有 Access-Control-Allow-Origin 标头。

【讨论】:

    猜你喜欢
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 2020-05-11
    • 2019-12-24
    • 2019-08-14
    • 1970-01-01
    相关资源
    最近更新 更多