java - 如何解决 Angular 12 中的 CORS 问题?

标签 java angular centos rest angular12

我正在开发一个 Angular 项目,我有登录页面,在提交登录 API 期间,我遇到了 CORS 错误。我也附上它的截图。任何建议将不胜感激。

 API Service.ts:

           constructor( private http: HttpClient ) { }
              httpOptionsPost = {
                headers: new HttpHeaders({
                  'Content-Type': 'application/json',
                  'Access-Control-Allow-Origin': '*',
                  'Access-Control-Allow-Credentials': 'true',
                  'Access-Control-Allow-Methods' : 'GET, POST, OPTIONS',
                  'Access-Control-Allow-Headers' : 'Origin, Content-Type, Accept, X-Custom-Header, Upgrade-Insecure-Requests',
                })
              };
        
              httpOptionsGet = {
                headers: new HttpHeaders({
                  'Content-Type': 'application/json',
                  'Access-Control-Allow-Origin': '*',
                })
              };
        
              _login(username, password) {
                const url = this.domain + '/api/login?username='+username+'&password='+password;
                return this.http.post(url, {}, this.httpOptionsPost);
              }

Login Component: 

    this.apiService._login(data.username, data.password).subscribe((resp: any) => {
          const resobj = JSON.parse(JSON.stringify(resp));
          console.log(resobj);
    })
        
        
Screenshot to show error

最佳答案

您需要设置代理配置以在本地运行应用程序。
一个简短的例子是:

// create a file proxy.config.json
{
  "/api": {
    "target": "http://example.com/", // put your actual domain
    "secure": false // true or false depending on your needs.
  }
}
然后运行您的项目,将代理 conf 传递给 ng-serve 或在 package.json 中配置它。
例如:
ng serve --proxy-config proxy.conf.json
或者
npm start -- --proxy-config proxy.conf.json
或者只是在 angular.json 中配置它。
然后,在您的代码中,删除域的使用,或者如果域与您要部署应用程序的位置不同,则使用 environment.dev.ts 将域分配给 localhost。
我指的是这个 block 中的域变量。
_login(username, password) {
    const url = this.domain + '/api/login?username='+username+'&password='+password;
    return this.http.post(url, {}, this.httpOptionsPost);
}
更多详情请查看 https://www.positronx.io/setting-up-angular-proxy-configuration-via-angular-json/和/或在官方 webpack 站点中进行高级代理配置

关于java - 如何解决 Angular 12 中的 CORS 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68099129/

相关文章:

java - 如何使用 Java HttpURLConnection 发送 SSL 证书

java - 将 Swing 按钮添加到使用 AWT 绘制的程序中

angular - 缓冲 Angular 服务 HttpClient 请求

angular - 是否可以更改 3rd 方模块的样式?

php - 将服务器 PHP 从 5.6 更改为 7.2 导致时区更改为 UTC

postgresql - Bugzilla - 表已经存在 : bz_schema at Bugzilla/DB/Schema. pm

java - 在 Java 中的 Swing 中自己的布局

Java RegEx 未替换所有预期模式

javascript - 从 Spring Boot 转发到特定的 Angular 组件

php - XAMPP centos 通过 PHP 上传的文件不显示