как исправить ошибку flutter web http при отправке http-запроса на веб-сервер Particalar
Я пытаюсь настроить HTTP-запрос на 000webhost, как показано ниже, в моем веб-приложении Flutter. Первый метод такой же, как и второй, я только изменил URL. Однако первый работает, а второй не работает. кто-то предложил добавить больше заголовков, но я понятия не имею, какие заголовки добавить.
/// Этот метод РАБОТАЕТ getMethod () async {
print("IN GET ....");
String theUrl = 'https://jsonplaceholder.typicode.com/todos';
var res = await http.Client().get(Uri.encodeFull(theUrl),headers: {"Accept":"application/json"});
//var res = await http.get(Uri.encodeFull(theUrl),headers: {"Accept":"application/json"});
var responsBody = json.decode(res.body);
print(responsBody);
return responsBody;
}
//// это не работает
getMethod()async{
print("IN GET ....");
String theUrl = 'https://funholidayshotels.000webhostapp.com/fetchData.php';
var res = await http.Client().get(Uri.encodeFull(theUrl),headers: {"Accept":"application/json"});
//var res = await http.get(Uri.encodeFull(theUrl),headers: {"Accept":"application/json"});
var responsBody = json.decode(res.body);
print(responsBody);
return responsBody;
}
2 ответа
Решение
После того, как я некоторое время боролся с этим, я понял, что проблема была на стороне сервера, мне пришлось добавить Header add Access-Control-Allow-Origin "*"
к .htaccess
на 000webhost И это решает проблему для меня
Вы также можете добавить приведенный ниже код в свой php-файл следующим образом:
<?php
require('connection.php');
header("Access-Control-Allow-Origin: *");
....
code goes here
....
?>
Я пробовал это на LocalHost, и это сработало