angular创建交叉原点http请求

时间:2017-08-04 23:41:32

标签: angular ionic2 angular-http

我有一个旧的android应用程序,我希望重构为ìonic2以创建跨平台应用程序。

在Android应用中,我使用Jsoup进行以下调用Jsoup.connect(url).get();

这没有问题,我返回了一个我可以解析的html页面。 但是,如果我使用以下

尝试使用ionic2(angular2)
loadTimetableData(url) {
let headers = new Headers({
  'Content-Type': 'application/form-url-encoded;',
  'Access-Control-Allow-Origin': '*'
});
return this._http.get(url, { headers: headers }).map((res) => res).catch(this._errorHandler);
}

我收到标准的CORS错误(index):1 XMLHttpRequest cannot load ${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:8100' is therefore not allowed access. The response had HTTP status code 400.

它不是我的服务器所以我无法添加标头服务器端。是否有我可以使用的替代库,或者我如何解决这个问题,如果可以的话

1 个答案:

答案 0 :(得分:0)

您可以尝试更改标题类型,因为我在GET方法中使用此标题

并注意您刚刚在

中添加了;
'Content-Type': 'application/form-url-encoded;',

这是不需要的,可能会导致错误

尝试将其更改为。

'Content-Type': 'application/json', 

完整代码

loadTimetableData(url) {
let headers = new Headers({
  'Content-Type': 'application/json', 
});
return this._http.get(url, { headers: headers }).map((res) => res).catch(this._errorHandler);
}