2017-06-02 141 views
0

我在从我的laravel服务器获取数据时遇到问题。访问控制允许Angular 2 http服务中的Origin问题

这是客户端代码:

private surveysUrl = 
'http://107.170.59.79/services/public/api/v1/countries'; 
private headers = new Headers({'Content-Type': 'application/json'}); 

constructor(private http: Http) { } 

getSurveys(): Promise<Survey[]> { 
return this.http.get(this.surveysUrl) 
    .toPromise() 
    .then(response => response.json() as Survey[]) 
    .catch(this.handleError); 
} 

但我接收作为误差为:

的XMLHttpRequest不能加载 {{联系在变量 “surveysUrl” 设定}}。 'Access-Control- 允许来源'标头的值为{{一些随机链接}},它不等于提供的原点 。原因'http://localhost:4200'因此是 不允许访问。

我该如何解决这个错误?

PS:我不允许发布两个以上的链接,所以我不得不从链接中删除错误信息。我已用{{}}替换它以使其可读。

+2

[如何在Angular 2中创建启用CORS的HTTP请求?](https://stackoverflow.com/questions/36768418/how-to-make-cors-enabled-http-requests-in-angular -2) – echonax

+0

只有* http://49.248.126.222:8282/*具有访问权限,您需要将其更改为允许您的本地主机,或者全部允许。这必须在服务器端完成,而不是像以下问的那样。 – Alex

+1

谢谢@ AJT_82。我会做出改变。 – RunSmeagolRun

回答

2

如果您使用的是Apache,那么你需要允许起源接入即

Header set Access-Control-Allow-Origin "*" 

包括这.htaccess文件。

+0

感谢您的建议,但请允许我告诉我是否可以从Angular处理它。 – RunSmeagolRun

+0

嗨@RumSmeagolRun这是在服务器端要做的事情。 (即为您创建API端点的人) –

相关问题