#flutter #http #dart #web #network-programming
Вопрос:
Я не знаю, что мне нужно делать, я попытался изменить свой URL. Но я все еще получаю эту ошибку.
Вот в чем ошибка.
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;
}
}
И вот мои URL-адреса
String eventsURL = 'http://medeni.art/api/v1/events?page=1'
String venuesURL = 'http://medeni.art/api/v1/venues'
Комментарии:
1. всем привет. вы добавили недостаточно кода, чтобы люди могли помочь. В предоставленном вами коде нет никаких проблем. добавьте полный код.
Ответ №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);
}
Комментарии:
1. Эй, @RezaM, спасибо тебе! Это решило проблему.