CORS不在域名后面启用

问题描述 投票:0回答:1

我有一个项目,其中包含服务器api(使用NodeJS和Express用打字稿编写)和Web应用程序(使用angular 9用打字稿编写)。将项目发布到远程服务器时,CORS出现问题。目前,我已经使用此代码部分解决了我的问题:

const cors: any = cors()
app.use(cors);
app.options('*', cors);

[当我在localhost:8080上运行服务器api并在localhost:4200上运行Web应用程序时,效果很好,但是当我在远程服务器(jslab.cloud)上运行服务器api和Web应用程序时,我收到此错误:] >

Access to XMLHttpRequest at 'http://jslab.cloud/api/questionario/get/' from origin 'http://www.jslab.cloud' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

当服务器api发布在域名🤷‍♂️之后,我不明白如何启用CORS

有人知道吗?非常感谢!

洛伦佐

[编辑]

这是前端的请求:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { RESTapiService } from './base/service-base';
import { Observable } from 'rxjs';
import { Question } from '../bo/question';

@Injectable()
export class QuestionarioService {

  constructor(private http: HttpClient) {

  }

  getQuestionario(): Observable<Array<Question>> {
    return this.http.get<Array<Question>>('http://jslab.cloud/api/questionario/get/');
  }

}

[编辑2]

我部分解决了将URL(由前端应用程序调用)从jslab.com/api更改为www.jslab.com/api的问题,但是它仅适用于Web应用程序。相同的应用程序内置于移动应用程序中,在这种情况下问题仍然存在。似乎未启用CORS。但为什么? T ___ T

我有一个项目,其中包含服务器api(使用NodeJS和Express用打字稿编写)和Web应用程序(使用angular 9用打字稿编写)。当我...

node.js typescript express cors
1个回答
0
投票

[首先,安装cors“ npm i cors”并确保package.json文件中的依赖项显示为“ cors”版本。然后将其导入并在app.js文件中使用。

© www.soinside.com 2019 - 2024. All rights reserved.