【问题标题】:Ionic / Cordova: Avoiding CORS issues with $http requestIonic / Cordova:使用 $http 请求避免 CORS 问题
【发布时间】:2016-10-28 16:30:57
【问题描述】:

根据this page,当我运行ionic emulate android -l 时,我的应用应该能够完全避免CORS 问题,因为没有来源可言。

我正在尝试向 Google 服务发出 $HTTP GET 请求(特别是从 Google 时间轴下载 this KML file)。

我正在尝试让我的应用程序的行为与我的 Google Chrome 扩展程序一样;我为扩展程序提供了对Chrome.cookieswebrequest 的访问权限,并且我能够成功地向上面的URL 发出AJAX 请求。

但是,当我在我的 ionic 构建中从 Angular 执行此操作时,我会遇到相同的 CORS 错误,就好像我在笔记本电脑的浏览器中执行此操作一样。

我在这里遗漏了什么吗?如何避免 AJAX 请求的这些 CORS 错误?

我只是在做:

$http.get('https://www.google.com/maps/timeline/kml?authuser=0&pb=!1m8!1m3!1i2015!2i7!3i8!2m3!1i2015!2i7!3i8').then(function(res){
    $scope.data = res.data;
}, function(err){
    $scope.data = err;
    console.log(err);
})

【问题讨论】:

    标签: android angularjs cordova ionic-framework


    【解决方案1】:

    如果disable cros issue in ionic 不起作用,请尝试检查您的服务器端是否启用了 Cros

    【讨论】:

    • 服务器不允许来自浏览器请求的 CORS,我也无权访问它 - 正如问题所示,它是 Google 服务器。但是,在我制作的 google chrome 扩展程序中,我可以毫无问题地 AJAX 文件,并且我假设我可以在 Ionic 中做同样的事情,因为它应该没有声明的来源......
    • 我不清楚你的问题实际上将 this"proxies": [{ "path": "/api", "proxyUrl": "//your url" }] 添加到 ionic.config 应该允许交叉。
    • 执行代理传递不起作用,因为它需要来自 Google 的 cookie 来验证请求。
    猜你喜欢
    • 2015-08-04
    • 2015-02-20
    • 2015-04-04
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 2015-09-01
    • 2017-03-26
    相关资源
    最近更新 更多