CORS 颤动网络

daf*_*fep 9 dart flutter flutter-web

我有一个大问题,使我的项目迟到 我有 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 %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
  Header always set Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
</ifModule>
Run Code Online (Sandbox Code Playgroud)

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

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());
}
Run Code Online (Sandbox Code Playgroud)

小智 4

尝试一下:

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

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

3-找到“--禁用扩展”

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

如何仅使用 dart 代码解决 flutter web api cors 错误?

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

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

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