我有一个大问题,导致我项目延迟了。我遇到了CROS问题,它阻止我的请求,我无法解决它。我添加了以下代码到我的 .htaccess 文件中,但它没有起作用,我无法理解原因。
跨域请求被阻止:同源策略不允许读取远程资源在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>
我不认为这是源于我的代码,但我会放在下面:
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());
}