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

使用http.post向PHP文件发送数据时出现XMLHttpRequest错误求助

解决Flutter中HTTP POST请求出现XMLHttpRequest error的问题
  • 跨域资源共享(CORS)配置缺失
    如果是Flutter Web环境,浏览器的同源策略会阻止跨域请求。需要在PHP服务器端添加CORS响应头:

    header("Access-Control-Allow-Origin: *"); // 生产环境建议指定具体域名
    header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
    header("Access-Control-Allow-Headers: Content-Type");
    

    同时处理OPTIONS预检请求,PHP脚本开头可添加:

    if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
        exit(0);
    }
    
  • 服务器地址或路径错误
    检查Uri.https("myserver", "myphp.php")中的域名是否完整有效,比如应使用"your-domain.com"而非简写的"myserver"。本地测试时,确保服务器可访问,可改用Uri.http("localhost", "myphp.php")(本地若无HTTPS配置,不要用https协议)。

  • HTTPS证书问题
    若服务器用自签名HTTPS证书,Flutter Web和部分移动端环境会拒绝请求。解决方式:

    • 生产环境使用正规CA颁发的证书;
    • 本地测试改用HTTP协议,或临时配置允许不安全连接(仅测试用)。
  • 请求参数异常
    检查uData列表长度是否至少为3,避免uData[1]、uData[2]索引越界导致请求构建失败。可在代码中添加校验:

    if (uData.length < 3) {
      print("uData参数不足");
      return;
    }
    
  • 服务器端脚本错误
    直接用浏览器或Postman访问PHP脚本地址,测试POST请求是否能正常响应,排查PHP脚本是否有语法错误、数据库连接失败等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 18:25:26