相关疑难解决方法(0)

XMLHttpRequest无法加载XXX没有'Access-Control-Allow-Origin'标头

TL;博士; 关于同源政策

我有一个Grunt进程,它启动了express.js服务器的实例.刚刚开始提供空白页面,并且Chrome中的开发人员控制台的错误日志中出现以下内容(最新版本),这一点工作非常精细:

XMLHttpRequest无法加载https://www.example.com/ 请求的资源上没有"Access-Control-Allow-Origin"标头.因此不允许来源" http:// localhost:4300 "访问.

什么阻止我访问该页面?

javascript same-origin-policy cors

92
推荐指数
2
解决办法
9万
查看次数

访问控制允许Angular 2中的原始问题

我从node.js服务器获取数据时遇到问题.

客户端是:

    public getTestLines() : Observable<TestLine[]> {
    let headers = new Headers({ 'Access-Control-Allow-Origin': '*' });
    let options = new RequestOptions({ headers: headers });

    return this.http.get('http://localhost:3003/get_testlines', options)
                .map((res:Response) => res.json())
                .catch((error:any) => Observable.throw(error.json().error || 'Server error')); 
}
Run Code Online (Sandbox Code Playgroud)

在服务器端我也设置了标题:

resp.setHeader('Access-Control-Allow-Origin','*') 
resp.send(JSON.stringify(results))
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误

"XMLHttpRequest无法加载http:// localhost:3003/get_testlines.对预检请求的响应未通过访问控制检查:请求的资源上没有'Access-Control-Allow-Origin'标头.来源' http://因此不允许localhost:3000 '访问."

我该如何解决?当我删除标题时,它表示此标题是必需的.

html http-headers angular

9
推荐指数
1
解决办法
4万
查看次数

如何解决 Angular 6 中 CORS No 'Access-Control-Allow-Origin' 缺失错误

我有单独的restfull网络服务。我在我的前端项目中使用 Angular 6。当我使用 httpClient 发布数据时,出现这样的错误

    error => cors header 'access-control-allow-origin' missing
Run Code Online (Sandbox Code Playgroud)

这是我的角度代码:

     login(username:string , password:string){
        var param = "username=" +username + "&password=" + password ;
        return this.http.post("http://localhost:8080/login",param);
       }
Run Code Online (Sandbox Code Playgroud)

angular

6
推荐指数
0
解决办法
3万
查看次数

缺少CORS标头'Access-Control-Allow-Origin'

我正在尝试将webUntis'(docs)API用于学校项目.现在我只想尝试与API建立任何类型的连接.

var result;
const url = 'https://api.webuntis.dk/api/status';
var xhr = new XMLHttpRequest();

xhr.open('GET',url, true);
xhr.setRequestHeader('Access-Control-Allow-Origin','*');
xhr.setRequestHeader('Content-type','application/json');
xhr.setRequestHeader('Access-Control-Allow-Methods','GET');
xhr.setRequestHeader('X-API-KEY', '/*API KEY*/');
xhr.send();


xhr.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        result = xhr.responseType;
        console.log(result);
    }
};
Run Code Online (Sandbox Code Playgroud)

此代码生成以下错误消息:

Cross-Origin请求被阻止:相同的源策略禁止在https://api.webuntis.dk/api/status上读取外部资源 (原因:缺少CORS Header'Access-Control-Allow-Origin').

怎么可以解决这个问题?也许我的API密钥错了?

免责声明:错误消息是从德语翻译的.

javascript http cors

5
推荐指数
2
解决办法
4万
查看次数

由于存在“ CORB”问题,因此无法从“跨域”获取数据

我试图像这样从我的本地主机获取数据:

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';

@Injectable({
    providedIn: 'root'
})
export class SearchServiceService {

    apiRoot:string = 'https://itunes.apple.com/search';
    results:Object[];
    loading:boolean;

    constructor(private http:HttpClient) {
        this.results = [];
        this.loading = false;
    }

    search(term:string){
        let promise = new Promise((resolve, reject) => {
            let apiURL = `${this.apiRoot}?term=${term}&media=music&limit=20`;
            this.http.get(apiURL).toPromise().then(res => {
                // console.log( res.json() );
                resolve();
            }, function(error){
                console.log('error is', error);
            })
        });
        return promise;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Chrome浏览器。为了防止出现此CORS问题,我使用此扩展名:

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related?hl=en-US

但是仍然出现错误为:

Failed to load https://itunes.apple.com/search?term=Moo&media=music&limit=20: …
Run Code Online (Sandbox Code Playgroud)

angular angular6

5
推荐指数
0
解决办法
1843
查看次数