3

我正在尝试在我的 Flutter Web 应用程序中向 000webhost 发出 HTTP 请求,如下所示。第一种方法和第二种方法一样,我只是改变了网址。但是,第一个有效,但第二个无效。有人建议添加更多标题,但我不知道要添加哪些标题。

// This method WORKS
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;
}



// This DOES NOT WORK
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; 
}
4

2 回答 2

3

在为此苦苦挣扎了一段时间后,我发现问题出在服务器端,我必须添加Header add Access-Control-Allow-Origin "*".htaccess000webhost 这为我解决了

于 2019-05-19T16:52:21.580 回答
2

您还可以将以下代码添加到您的 php 文件中,如下所示:

    <?php
    require('connection.php');
    header("Access-Control-Allow-Origin: *");
    ....
    code goes here
    ....
    ?>

我在 LocalHost 上试过这个,它有效

于 2019-11-10T22:08:49.807 回答