【问题标题】:Getting an error when requesting data from http从 http 请求数据时出错
【发布时间】:2021-08-10 19:25:12
【问题描述】:

我不知道我需要做什么,我试图更改我的网址。但我仍然收到此错误。

这是错误。

Exception has occurred.
FormatException (FormatException: Unexpected character (at character 1)
<!DOCTYPE html>
^
)

下面是我请求数据的代码

    Map<dynamic, dynamic> venuesData;

  Future<void> fetchAndSetVenues() async {
    try {
      final response = await http.get(Uri.parse(venuesURL));
      final extractedData = json.decode(response.body) as Map<dynamic, dynamic>;
      venuesData = extractedData;
      print(venuesData);
    } catch (error) {
      throw error;
    }
  }

  // events
  Map<dynamic, dynamic> eventsData;

  Future<void> fetchAndSetEvents() async {
    try {
      final response = await http.get(Uri.parse(eventsURL));
      final extractedData = json.decode(response.body) as Map<dynamic, dynamic>;
      eventsData = extractedData;
    } catch (error) {
      throw error;
    }
  }

这是我的网址

String eventsURL = 'http://medeni.art/api/v1/events?page=1'

String venuesURL = 'http://medeni.art/api/v1/venues'

【问题讨论】:

  • 您好。您没有添加足够的代码让人们能够提供帮助。您提供的代码没有问题。添加完整代码。

标签: flutter http dart web network-programming


【解决方案1】:

这个错误发生在json.decode 方法中。出于任何原因,如果 http 请求出错,则不应调用 json.decode。您可以查看请求响应状态码。

import 'package:http/http.dart' as http;

var url = Uri.parse('https://example.com/whatsit/create');
var response = await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
if(response.statusCode ==200){
  final result = json.decode(response.body);
}

【讨论】:

  • 嘿@RezaM 谢谢!问题就解决了。
猜你喜欢
  • 1970-01-01
  • 2018-10-16
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 2015-06-26
  • 2014-01-17
  • 1970-01-01
相关资源
最近更新 更多