相关疑难解决方法(0)

在 flutter web 中发生 XMLHttpRequest 错误时启用 CORS

当我使用该函数将数据添加到数据库时,并且在我添加的服务器上Access-Control-Allow-Origin,它不会被 CORS 阻止,但是当我查看浏览器控制台工具选项卡控制台时仍然出错

Access to XMLHttpRequest at 'https://int.goo.id/api/pg/sso.register' from origin 'http://127.0.0.1:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)

如何停用 CORS?

xmlhttprequest dart flutter-web

12
推荐指数
1
解决办法
2万
查看次数

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

似乎 CORS 错误是网络领域的众所周知的问题。但是我有史以来第一次尝试了 flutter web,我遇到了严重的错误。

下面的代码在 iOS 设备上运行时在应用程序版本中运行良好,但是当我在 Chrome 上使用 beta 通道的网络调试测试相同的代码时,它遇到了 CORS 错误。

其他 stackoverflow 答案解释了如何使用其项目的服务器端文件解决 CORS 问题。但我完全不知道什么是服务器问题以及如何处理他们的答案。来自 Chrome 控制台的错误消息如下

[从源 'http://localhost:52700' 访问 XMLHttpRequest at 'https://kapi.kakao.com/v1/payment/ready' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。]

所以,我想要做的是仅使用 DART 代码解决上面的“Access-Control-Allow-Origin 标头”问题!下面的代码是我尝试仅使用 main.dart 解决这些问题的代码。

onPressed: () async {
      var res =
          await http.post('https://kapi.kakao.com/v1/payment/ready', encoding: Encoding.getByName('utf8'), headers: {
        'Authorization': 'KakaoAK $_ADMIN_KEY',
        HttpHeaders.authorizationHeader: 'KakaoAK $_ADMIN_KEY',
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Allow-Methods": "POST, GET, OPTIONS, PUT, DELETE, HEAD",
      }, body: {
        'cid': 'TC0ONETIME',
        'partner_order_id': 'partner_order_id',
        'partner_user_id': 'partner_user_id',
        'item_name': 'cool_beer',
        'quantity': '1',
        'total_amount': '22222',
        'vat_amount': …
Run Code Online (Sandbox Code Playgroud)

api http request dart flutter

9
推荐指数
9
解决办法
2万
查看次数

flutter web 的 http 请求被 Cors 策略阻止

我有一个 Android、Ios 和 Web 应用程序,使用 php 作为后端。所有 Api 在 android 和 ios 中都工作正常,但在 web 中抛出 CORS 错误。出现这样的错误

从源“http://localhost:49168”访问“https://example.com/api”处的 XMLHttpRequest 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。

我尝试发送标头: {'Access-Control-Allow-Origin': 'http://localhost:49168', "Origin": "http://localhost:49168" } 到 http 请求。如果我为 chrome 添加 CORS 扩展,网络将运行顺利。请帮帮我

flutter flutter-web

7
推荐指数
1
解决办法
1万
查看次数

使用 http post flutter web 时出现 XMLHttpRequest 错误

XMLHttpRequest error.在对我的 API-AWS API 网关进行 HTTP post 调用时遇到此错误。我当前的流程是 Flutter web -> API gateway -> lambda -> rds。

我知道已经有几个与此相关的问题,例如,但正如答案之一所建议的,添加一些标头以响应 lambda。但这对我不起作用。

经过一些研究,我发现问题与 CORS 有关。现在禁用 chrome 中的 cors 是一个临时修复,并在这个问题中建议。

我在研究后发现的一些其他解决方案建议在我的 API 中启用 cors,并且在前端部分我添加了标头,但它们都不起作用。

fetchData() async {
    String url =
        "myUrl";
    Map<String, String> headers = {
      "Access-Control-Allow-Origin": "*", // Required for CORS support to work
    };
    String json = '{"emailId":"emailId"}';
    http.Response response =
        await http.post(Uri.parse(url), headers: headers, body: json);
    print(response.body);
    return response.body;
  }
Run Code Online (Sandbox Code Playgroud)

解决这个问题的正确方法是什么?

amazon-web-services aws-lambda aws-api-gateway flutter flutter-web

3
推荐指数
2
解决办法
2万
查看次数

Flutter Web:如何发送不记名令牌?

我有一个 ASP.Net Core web api,它接受不记名令牌 (jwt),我在我的 Flutter 中使用 Android 模拟器发送这个令牌,此代码没有任何问题:

final response = await get(url, headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'Authorization': 'Bearer $token',
    });
Run Code Online (Sandbox Code Playgroud)

但是当我在 Chrome 浏览器中运行它时,api 响应是: 405 Method Not Allowed 。

有什么问题 ?

更新

根据@anirudh 的评论,我在我的 web Api 中启用了 CROS 并且问题已经改变。现在的响应是:204 No Content

bearer-token flutter flutter-web

0
推荐指数
1
解决办法
287
查看次数