Angular2 中的 CORS 问题
CORS ISSUE in Angular2
我正在为我的应用程序使用 webpack angular2 初学者工具包 (https://github.com/AngularClass/angular2-webpack-starter),现在我遇到了问题。
我尝试拨打电话
getSomeData(): Observable<any> {
let url = here is my api URL;
let headers = new Headers({ 'Content-Type': 'application/json; charset=utf-8', "Access-Control-Allow-Origin": "*", 'dataType': 'json', });
let options = new RequestOptions({ headers: headers });
return this._http.get(url, options).map(res => res.json());
}
我有下一个错误
XMLHttpRequest cannot load (my URL) 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:3000' is therefore not allowed access. The response had HTTP status code 405.
默认情况下Api(使用firebird)returns XML,这可能会导致问题。
- 如何做到总是JSON?
- 如何解决 CORS 的这个问题?
此问题出在服务器端。后者必须 return 在 HTTP 调用的响应中 Access-Control-Allow-Origin
header。
大多数时候,您可以在服务器应用程序中插入一些工具来为您完成这项工作。当客户端发送 Origin
header(由浏览器自动添加)时,服务器知道 CORS headers 必须 returned。
有关 CORS 的更多详细信息,请参阅本文:
我正在为我的应用程序使用 webpack angular2 初学者工具包 (https://github.com/AngularClass/angular2-webpack-starter),现在我遇到了问题。
我尝试拨打电话
getSomeData(): Observable<any> {
let url = here is my api URL;
let headers = new Headers({ 'Content-Type': 'application/json; charset=utf-8', "Access-Control-Allow-Origin": "*", 'dataType': 'json', });
let options = new RequestOptions({ headers: headers });
return this._http.get(url, options).map(res => res.json());
}
我有下一个错误
XMLHttpRequest cannot load (my URL) 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:3000' is therefore not allowed access. The response had HTTP status code 405.
默认情况下Api(使用firebird)returns XML,这可能会导致问题。
- 如何做到总是JSON?
- 如何解决 CORS 的这个问题?
此问题出在服务器端。后者必须 return 在 HTTP 调用的响应中 Access-Control-Allow-Origin
header。
大多数时候,您可以在服务器应用程序中插入一些工具来为您完成这项工作。当客户端发送 Origin
header(由浏览器自动添加)时,服务器知道 CORS headers 必须 returned。
有关 CORS 的更多详细信息,请参阅本文: