微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter Web Http post 请求无法使用 http 包工作

如何解决Flutter Web Http post 请求无法使用 http 包工作

Flutter web 上发出http post 请求失败。我正在使用 http 包进行请求,这里是我的代码

http.post(
      'http://x.x.x.x:5000',headers: <String,String>{
        "Access-Control-Allow-Origin": "*",// required for CORS support to work
        "Access-Control-Allow-Credentials":
            'true',// required for cookies,authorization headers with HTTPS
        "Access-Control-Allow-Headers":
            "Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token","Access-Control-Allow-Methods": "POST,OPTIONS"
      },body: jsonEncode(<String,String>{
        'title': 'title',}),)

错误:XMLHttpRequest 错误。 dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 906:28 获取最新信息 包/http/src/browser_client.dart 84:22 dart-sdk/lib/async/zone.dart 1450:54 runUnary dart-sdk/lib/async/future_impl.dart 143:18 handleValue dart-sdk/lib/async/future_impl.dart 696:44 handleValueCallback

注意:在 chrome 开发工具中,我可以看到 2 个请求通过一个是我的 post 请求,我不知道另一个。另一个总是以 200 状态成功并记录在服务器上,但这不是我的发布请求。

解决方法

在浪费时间寻找解决方案后,我发现我没有在服务器端实现 CORS。我使用的是 Flask 服务器,添加 CORS 很快就解决了这个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。