【问题标题】:Why won't my HTTP request in Flutter work?为什么我在 Flutter 中的 HTTP 请求不起作用?
【发布时间】:2020-11-15 10:57:36
【问题描述】:

我正在向我当前在本地托管的 API 发出 HTTP 请求。我目前收到此错误。在函数中,'1' 将打印,但不会打印 '2'。

Future<http.Response> fetchUserData() async{
 print('1');
 final response = await http.get('http://localhost:5000/getUser/7890');
 print('2');
 return response;
}

这就是我调用函数的方式

var testVar = fetchUserData();
print(testVar);

我得到的错误是

Error: XMLHttpRequest error.
dart:sdk_internal 124039:30                           get current
packages/http/src/browser_client.dart.lib.js 214:124  <fn>
dart:sdk_internal 37029:58                            runUnary
dart:sdk_internal 32116:29                            handleValue
dart:sdk_internal 32663:49                            handleValueCallback
dart:sdk_internal 32701:17                            _propagateToListeners
dart:sdk_internal 32535:25                            [_complete]
dart:sdk_internal 37439:24                            _cancelAndValue
dart:sdk_internal 18487:17                            <fn>
  dart:sdk_internal 4673:16                             _checkAndCall
  dart:sdk_internal 4678:17                             dcall
  dart:sdk_internal 104576:23                           <fn>
at Object.createErrorWithStack (http://localhost:53647/dart_sdk.js:4477:12)
at Object._rethrow (http://localhost:53647/dart_sdk.js:37464:16)
at async._AsyncCallbackEntry.new.callback (http://localhost:53647/dart_sdk.js:37458:13)
at Object._microtaskLoop (http://localhost:53647/dart_sdk.js:37290:13)
at _startMicrotaskLoop (http://localhost:53647/dart_sdk.js:37296:13)

想知道是否有人发现了错误。

【问题讨论】:

  • 只需使用@Danny 所说的本地 ip 尝试它,或者使用 10.0.0.0 而不是 localhost 检查它,我也因 10.0.0.0 为我工作而遇到这个问题。

标签: http flutter dart flutter-web


【解决方案1】:

如果您在模拟器/移动设备上运行 Flutter 应用,但在 PC 上运行本地 Web 服务器,则 localhost 不是要使用的正确主机名。在将指向移动设备本身的移动设备上(例如)。

尝试将localhost 替换为您机器的(网络)IP 地址(并​​确保任何防火墙都允许连接)。

【讨论】:

    【解决方案2】:

    我发现了问题。这是 API 方面的问题。 如果您使用 Flask,请将这些行添加到 API 的顶部。

    from flask_cors import CORS
    CORS(app=app)
    

    【讨论】:

      猜你喜欢
      • 2020-09-19
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-19
      • 2012-02-13
      • 1970-01-01
      • 2021-02-16
      相关资源
      最近更新 更多