看来CORS错误在网络领域是众所周知的问题.但是我第一次try 了Flutter 网,我遇到了严重的错误.

下面的代码在iOS设备上运行时在应用程序版本中运行良好,但当我在Chrome上通过beta channel的web调试测试同一代码时,它遇到了CORS错误.

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

[在'https://kapi.kakao.com/v1/payment/ready"起源"http://localhost:52700'已被CORS策略阻止:对飞行前请求的响应未通过访问控制判断:请求的资源上不存在'access control Allow Origin'头.]

所以,我只想用DART代码来解决上面的‘Access-Control-Allow-Origin Header’问题!下面的代码是我试图仅用我的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': '2222',
        'tax_free_amount': '0',
        'approval_url': '$_URL/kakaopayment',
        'fail_url': '$_URL/kakaopayment',
        'cancel_url': '$_URL/kakaopayment'
      });
      Map<String, dynamic> result = json.decode(res.body);
      print(result);
    },

尽管我实际上有大多数其他答案推荐的标题"Access-Control-Allow-Origin": "*",Chrome控制台还是打印了相同的错误消息.奇怪的是,在MobileApp版本中,相同的代码发出了成功的请求.所以我认为这只是Ffltter Web版本的问题.

希望有人能解决这个问题,只建议使用DART代码来解决我主机中的问题.DART!!感谢您阅读[:

推荐答案

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

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

3-查找'--disable-extensions'

4-加'--disable-web-security'

Flutter相关问答推荐

创建多个具有适当填充和对齐的按钮的最佳方法

如何在凌晨12点显示00:00(24小时格式)而不是在Flutter 中显示24:00

'Flutter的无效常数值错误

为什么当我使用Riverpod更新状态时,列表会被刷新?

Flutter在CustomPainter的右上角和左上角添加了2条曲线

我如何在Android 13中通过Flutter应用程序打开文件(不是图像、视频或音频)?

如何在 Dart/Flutter 中克隆 Future

当 Dart SDK 版本范围不匹配时,为什么依赖解析器不会抛出错误?

如何将 Flutter 项目迁移到具有多个插件的 Gradle 8?

Flutter Web Dio XMLHttpRequest 上传大文件时出错

在Flutter中为容器实现线性渐变背景动画

Flutter可滚动定位列表支持rtl方向吗?

对话框打开时如何使背景模糊?

在 Flutter 中,您什么时候应该更喜欢Widget继承而不是组合?

如何制作两个显示相关内容且可编辑的文本字段?

在 Flutter 中将提取的 Listview.builder 与两个列表一起使用

在flutter web中重新加载页面时保留一些状态数据的有效方法是什么?

如何在屏幕按钮中排列 row() (我想在按钮中放置屏幕导航图标)

如何使用 Riverpod 在运行时动态创建提供程序?

用于空值 FirebaseFirestore 的空值判断运算符