Angular 为什么我得到';访问控制允许原点';错误
我正在创建一个小应用程序,使用angular cli从网站url获取html内容。我已添加并导入了所有必需的文件,但出现以下错误: 无法加载XMLHttpRequest . 不 “Access Control Allow Origin”标头出现在请求的服务器上 资源。因此,不允许使用源“” 进入 我们如何解决这个问题 脚本:Angular 为什么我得到';访问控制允许原点';错误,angular,angular-cli,Angular,Angular Cli,我正在创建一个小应用程序,使用angular cli从网站url获取html内容。我已添加并导入了所有必需的文件,但出现以下错误: 无法加载XMLHttpRequest . 不 “Access Control Allow Origin”标头出现在请求的服务器上 资源。因此,不允许使用源“” 进入 我们如何解决这个问题 脚本: import { Component, OnInit } from '@angular/core'; import { HttpClient } from '@ang
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import * as jQuery from 'jquery';
import { Http, Headers, RequestOptions } from '@angular/http';
@Component({
selector: 'app-bodycontent',
templateUrl: './bodycontent.component.html',
styleUrls: ['./bodycontent.component.css']
})
export class BodycontentComponent implements OnInit {
title = 'app';
results = '';
constructor(private http: HttpClient){
}
ngOnInit(): void {
let headers = new Headers({ 'Content-Type': 'text/html' });
let options = new RequestOptions({ headers: headers });
this.http.get('https://www.test.org/publictest/index.html').subscribe(html => {
alert(html);
});
}
}
位于的服务器需要提供一个标头,告知浏览器允许您的站点向其请求数据。它应该发送一个标题,类似于下面的响应-
Access-Control-Allow-Origin: http://localhost:8080
然后,您就可以将该url中的资源使用到您的页面中
或者,如果它仅适用于您的本地环境,则有助于绕过此限制的浏览器扩展(适用于几乎所有主要浏览器)。您可以使用它们。出于网络安全目的,所有浏览器都遵循SOP(同源策略) 您可以了解更多关于SOP的信息 因此,如果您正在为不遵守这些SOP规则的应用程序获取web服务响应,您将在控制台中看到这些错误
为了克服这一点,您可以为chrome使用CORS插件。这会解决你的问题。谢谢你的回答。我是angular cli的新手,所以你能准确地告诉我我想要做什么吗?这不是angular特有的,我建议你阅读这里的文档-最后你告诉我想要在firefox rite中运行此脚本,因为浏览器只支持?哪个脚本?目标服务器需要设置该标头。该文档通常适用于HTTP web标准,而不仅仅是可能的重复和可能的重复