как исправить ошибку 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, и это сработало

Другие вопросы по тегам