Angular 5-由于请求的资源上不存在“没有'Access-Control-Allow-Origin'标头”而出现错误[重复]

Posted

技术标签:

【中文标题】Angular 5-由于请求的资源上不存在“没有\'Access-Control-Allow-Origin\'标头”而出现错误[重复]【英文标题】:Angular 5 - getting error as `No 'Access-Control-Allow-Origin' header is present on the requested resource` [duplicate]Angular 5-由于请求的资源上不存在“没有'Access-Control-Allow-Origin'标头”而出现错误[重复] 【发布时间】:2018-09-21 08:06:44 【问题描述】:

我正在尝试将文件(上传的文件)发布到支持。收到此错误。

Failed to load http://52.7.92.114:8080/cms-m2ts/rest/DocumentTagService/uploadFile: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access.

如何想出这个?这是我的角度服务:无论我错在哪里,请纠正我。但是上面的东西在postman中没有任何问题

import  Injectable  from '@angular/core';
import  Http, Headers, RequestOptions  from '@angular/http';

import  Observable  from 'rxjs/Observable';
import 'rxjs/add/operator/map';


@Injectable()
export class DocUploadService 

    baseUrl: string = 'http://52.7.92.114:8080/cms-m2ts/rest/DocumentTagService';

    constructor(private http:Http)  

    uploadDocument(file:File):Observable<File>

        const headers = new Headers();
        headers.append('Content-Type', 'application/json');
        let options = new RequestOptions( headers: headers, body:"tagCount" : 5  );

        const url = `$this.baseUrl/uploadFile`;
        return this.http.post(url, file, options ).map(response => response.json())
    


【问题讨论】:

Postman 不验证 CORS 标头。在侧栏中查看无数重复项--> 这不是 Angular 问题。请使用您的后端标签并重新表述您的问题。如果您不知道自己的错误是什么,请先进行谷歌搜索。 您使用哪种语言作为后端? 【参考方案1】:

如果您发布文件的服务器在您的控制之下,请执行以下操作:-

在同一资源上添加一个 OPTIONS 操作,并为 Access-Control-Allow-Origin 标头提供您的客户端 IP 或 * 以允许全部。 例如。如果它是 ASP.NET MVC 应用程序,请使用 Microsoft.ASPNET.CORS NuGet 包并在 global.asax 中应用 EnableCors 设置。其他环境会有自己的设置方式

如果没有,那么您需要请业主为您进行设置。

【讨论】:

请解释拒绝投票的原因?

以上是关于Angular 5-由于请求的资源上不存在“没有'Access-Control-Allow-Origin'标头”而出现错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Angular 4 - 请求的资源上不存在“Access-Control-Allow-Origin”标头

请求的资源上不存在“Access-Control-Allow-Origin”标头(角度)

Angular2:http.get 返回“请求的资源上不存在‘Access-Control-Allow-Origin’标头。”

Angular2对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头

Angular7:已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头

Angular JS Cors 请求的资源上不存在“Access-Control-Allow-Origin”标头错误