【问题标题】:How to make HTTP Requests on Flutter For Web?如何在 Flutter For Web 上发出 HTTP 请求?
【发布时间】:2019-12-11 22:25:46
【问题描述】:

我正在构建一个对 NodeJS 服务器执行 HTTP 请求的应用程序,但是当我执行 HTTP 请求时,结果如下:

Access to XMLHttpRequest at 'http://127.0.0.1:8000/' 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.

Uncaught (in promise) Error: XMLHttpRequest error.
    dart:sdk_internal 41864:30                                    get current
package:http/src/packages/http/src/browser_client.dart 84:22  <fn>
dart:sdk_internal 99587:96                                    <fn>


    at Object.dart.createErrorWithStack (dart_sdk.js:4617)
    at Object.async._rethrow (dart_sdk.js:28723)
    at async._AsyncCallbackEntry.new.callback (dart_sdk.js:28719)
    at Object.async._microtaskLoop (dart_sdk.js:25352)
    at async._startMicrotaskLoop (dart_sdk.js:25358)
    at dart_sdk.js:25433

这是我使用 'package:http/http.dart' as http; 发出 HTTP 请求的代码:

void requestGet(String endpoint, Callback cb) async {
    return await http.get(Uri.encodeFull(url + endpoint),
        headers: {"Accept": "application/json"}).then((http.Response response) {
      print(response.body);
    });
  }

  void requestPost(String endpoint, Map data, Callback cb) async {
    return await http.post(Uri.encodeFull(url + endpoint),
        body: data,
        headers: {"Accept": "application/json"}).then((http.Response response) {
      print(response.body);
    });
  }

【问题讨论】:

    标签: http flutter dart flutter-web


    【解决方案1】:

    通过在我的 NodeJS 服务器here 中启用 CORS 解决了重新保护 HTTP 请求的问题。

    【讨论】:

    • 你能解释一下这个问题是什么,它是颤振特定的问题吗?我们正在使用 python 调用一个 API,flutter 吃了不同的设备,使用 python 的设备工作正常,但是 flutter 给出了这个错误XMLHttpRequest error
    • 不,通常情况下,即使在 NodeJS 中也不是发生在我身上的特定问题,我对这些类型的问题不是很有经验,我建议你提出问题,看看人们告诉你什么,无论如何,感谢您与我们联系!
    猜你喜欢
    • 2019-10-02
    • 2019-02-13
    • 2020-08-08
    • 2019-10-06
    • 2017-09-15
    • 2015-08-03
    • 1970-01-01
    • 2020-02-21
    • 2019-05-07
    相关资源
    最近更新 更多