【问题标题】:FormatException: Unexpected end of input (at character 1) ^FormatException:输入意外结束(在字符 1 处)^
【发布时间】:2022-07-31 00:16:30
【问题描述】:

我已经使用了这个方法并且它工作正常但是今天我运行相同的代码并且我有这个错误: 响应消息:500 内部服务器错误 I/flutter(8784):FormatException:输入意外结束(在字符 1 处) 我/颤振(8784): 我/颤动(8784):^

Future<String> getCompanies() async {
   try {
     var response = await http.get(Uri.parse(companies), headers: {
       HttpHeaders.authorizationHeader: basicauth,
       HttpHeaders.contentTypeHeader: 'application/json'
     });
     if (mounted) {
       this.setState(() {
         var resbody = JsonDecoder().convert(response.body);
         data = resbody["value"];
       });
     }
   } catch (e) {
     print(e);
   }
 }

【问题讨论】:

  • 这可能是您的后端造成的。您可以尝试使用邮递员或浏览器打开同一个网站吗?
  • 您的服务器出了点问题,您的客户端严重失败,因为您在没有先检查响应的状态代码的情况下无条件地尝试将响应解析为 JSON。
  • 当我尝试从邮递员那里获取请求时,它工作正常,但在我的飞镖代码中不起作用
  • 那么你的 Dart 代码正在做一些不同的事情。任何人都无法告诉您这些与您向我们展示的内容有何不同。您的服务器日志可能会提供一些线索,说明您正在做什么以触发内部服务器错误。

标签: flutter api dart http request


【解决方案1】:

可能是由字符集变化引起的。 在 sqli/pd0 连接中使用 CHARSET=utf8。

【讨论】:

    猜你喜欢
    • 2019-08-17
    • 2019-12-19
    • 2021-11-24
    • 2020-12-20
    • 2019-06-25
    • 1970-01-01
    • 2019-09-17
    • 2019-09-04
    • 1970-01-01
    相关资源
    最近更新 更多