http包无法在flutter中将地图转换为查询URL

时间:2019-12-29 09:34:37

标签: http flutter dart flutter-web

我正在尝试使用以下方法发出http发布请求。当我运行该方法时,我不断收到消息,指出发生过exeption,并且正在指向此utils.dart文件。从我的最大猜测来看,将我在url中提供的地图数据转换为查询字符串时出现问题。似乎无法找到问题所在,我该如何解决。

请求方法

Future<List>getdata()async{

print("Loading ....");
String theUrl ="https://http://127.0.0.1/codeishweb/notifiedUser.php";
var res = await http.post(Uri.encodeFull(theUrl),headers: {"Accept":"application/json"},body: {"notID":2},);
var responseBody = json.decode(res.body);

print("results ::$responseBody");
 //print("the response at position something::::\nHeading\n${responseBody[0][7]['post_head']}\nBody\n${responseBody[0][7]['post_body']}");

 return responseBody;
}

utils.dart中的错误消息

/// Converts a [Map] from parameter names to values to a URL query string.
///
///     mapToQuery({"foo": "bar", "baz": "bang"});
///     //=> "foo=bar&baz=bang"
String mapToQuery(Map<String, String> map, {Encoding encoding}) {
  var pairs = <List<String>>[];
  map.forEach((key, value) => pairs.add([
        Uri.encodeQueryComponent(key, encoding: encoding),
        Uri.encodeQueryComponent(value, encoding: encoding)
      ]));
  return pairs.map((pair) => "${pair[0]}=${pair[1]}").join("&");
}

0 个答案:

没有答案