You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter GET请求在jsonplaceholder正常,自建站点无响应无报错求助

问题排查与解决方案

1. 先修正代码语法错误

你的代码存在语法结构错误,if语句不在fetchData异步函数内部,导致response变量作用域无效,这会直接导致代码无法正常执行:

修正后的代码:

fetchData() async { 
  var url = Uri.parse('https://konamicash.com/connexion_bdd_flutter'); 
  var response = await http.get(url);
  
  if (response.statusCode == 200) {
    print('ça fonctionne: ${response.body}');
  } else {
    print('Erreur: ${response.statusCode}');
  }
}
  • 将if代码块移入fetchData函数的大括号内,确保response变量能被正确访问
  • 错误打印时带上状态码,便于精准定位问题

2. 排查服务器端与网络问题

若修正代码后仍无响应,大概率是服务器或网络层面的问题:

  • 验证HTTPS证书有效性:用浏览器访问https://konamicash.com/connexion_bdd_flutter,查看是否有证书警告。如果证书无效,Flutter会默认拒绝请求,调试阶段可临时添加证书信任(生产环境不建议)
  • 测试服务器响应状态:用Postman或curl发起GET请求,确认是否能拿到预期的JSON响应。如果工具也无法获取响应,说明服务器可能未启动、路径配置错误或被防火墙拦截
  • 检查CORS配置:如果是Flutter Web端运行,需确保服务器配置了CORS规则,允许你的前端域名访问。移动端一般不受CORS限制,但仍需确认服务器是否设置了IP白名单
  • 排查网络环境限制:检查设备是否处于受限网络(如公司内网、代理环境),导致请求无法到达目标服务器

3. 增加异常捕获逻辑

在代码中添加try-catch块,捕获请求过程中的异常,能帮你快速定位具体问题:

fetchData() async { 
  try {
    var url = Uri.parse('https://konamicash.com/connexion_bdd_flutter'); 
    var response = await http.get(url);
    
    if (response.statusCode == 200) {
      print('ça fonctionne: ${response.body}');
    } else {
      print('Erreur statut: ${response.statusCode}');
    }
  } catch (e) {
    print('Erreur requête: $e');
  }
}

内容的提问来源于stack exchange,提问作者Deenan Djigbenou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 08:52:04