CORS 颤动网络

Posted

技术标签:

【中文标题】CORS 颤动网络【英文标题】:CORS flutter web 【发布时间】:2020-06-12 21:31:55 【问题描述】:

我有一个大问题让我的项目迟到了我有 CROS 问题阻止我的请求我无法纠正它,我在我的 .htacess 中添加了下面的行,但它不起作用我不能'没看懂

跨源请求被阻止:同源策略不允许读取位于https://maps.googleapis.com/maps/api/place/autocomplete/json...nents=country:fr&key=MY_KEY 的远程资源。 (原因:缺少 CORS 标头“Access-Control-Allow-Origin”)

RewriteEngine On

RewriteCond %SERVER_PORT 80
RewriteRule ^(.*)$ https://www.kosmos-digital.com/$1 [R,L]

Rewritecond %HTTP_HOST ^kosmos-digital.com$
Rewriterule ^(.*) https://www.kosmos-digital.com/$1 [QSA,L,R=301]

<ifModule mod_headers.c>
  SetEnvIf Origin "http(s)?://(www.kosmos-digital.com|www.maps.googleapis.com)$" AccessControlAllowOrigin=$0
  Header add Access-Control-Allow-Origin %AccessControlAllowOrigine env=AccessControlAllowOrigin
  Header always set Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
</ifModule>

我不认为它来自我的代码,但我会把它放在下面:

try 
  await Dio().get<String>("https://maps.googleapis.com/maps/api/place/autocomplete/json?input=28%20avenue%20pierre%20corneille&language=fr&components=country:fr&key=MY_KEY").then((e) 
  print(e.data);
).catchError(print);
  // Map<String, dynamic> dataAsJson = await HttpUtils.getForJson(url, headers: headers);
  // print(dataAsJson.toString());
 catch(e) 
  print(e.toString());

【问题讨论】:

我无法从 Flutter Web 进行调用...我唯一的选择是创建一个 Firebase 函数并将数据发送到 Firestore 以供使用。 嗨@dafep,你设法让它工作了吗?由于项目的一些限制,我无法真正制作 Firebase 函数 这里有同样的问题。这对于需要尽快解决的 Flutter-web 开发人员来说是个遗憾。 您能否检查一下您的 API 密钥是否有任何限制,例如:youtu.be/2_HZObVbe-g cors 标头完全由 Google API 服务器控制。您的浏览器会读取这些标头并决定是否让您的应用使用响应。它不是由您的应用程序而是由浏览器控制的,因此您在 Flutter 端无能为力,只能在您的项目中配置 API 设置。 【参考方案1】:

试试看:

1- 转到flutter\bin\cache 并删除一个名为:flutter_tools.stamp 的文件

2- 转到flutter\packages\flutter_tools\lib\src\web 并打开文件chrome.dart。

3- 查找'--disable-extensions'

4- 添加“--disable-web-security”。

How to solve flutter web api cors error only with dart code?

如果不起作用,请尝试这些命令

flutter run -d chrome --web-renderer html // 运行应用程序

flutter build web --web-renderer html --release // 生成生产版本

【讨论】:

以上是关于CORS 颤动网络的主要内容,如果未能解决你的问题,请参考以下文章

使颤动的网络图像小部件可点击

颤动的网络墨水池悬停导致异常

使用 dio formdata 上传图像颤动网络

在打开浏览器进行调试时颤动网络崩溃

iCheck 复选框在颤动的 Android 网络视图中不起作用

在恒定大小的容器中滚动小部件颤动网络