使用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
相关产品推荐
相关产品推荐

