{"errMsg":"request:fail abort statusCode:-1 Failed to connect to localhost/127.0.0.1:8080","config":{"baseUrl":"http://localhost:8080/python107p3i41/","header":{"Token":""},"data":{"page":1,"limit":10,"sort":"id","order":"desc"},"method":"GET","dataType":"json","url":"http://localhost:8080/python107p3i41/anjianxinxi/list","requestId":1747650860261}}
时间: 2025-05-29 07:50:18 浏览: 180
### 解决 UniApp 连接 `localhost` 接口时出现 `request:fail abort statusCode:-1` 错误的方案
此问题的根本原因在于,当使用真机调试时,手机无法识别电脑上的 `localhost` 或 `127.0.0.1` 地址。这是因为在移动设备上,`localhost` 实际指向的是该设备本身而非开发机器[^1]。因此需要采取以下措施解决问题。
#### 1. **更换请求地址为实际 IP 地址**
将前端代码中用于调用后端接口的地址由 `localhost` 替换为当前计算机在局域网中的 IPv4 地址。例如:
```javascript
// 修改前
url: 'http://localhost:8080/api/login'
// 修改后
url: 'http://<Your_Computer_IP>:8080/api/login'
```
其中 `<Your_Computer_IP>` 是指开发者主机的实际局域网 IP 地址,可通过命令行输入 `ipconfig`(Windows) 或者 `ifconfig`(Mac/Linux),找到类似于 `192.168.x.x` 的数值[^2]。
#### 2. **确保两者处于同一网络环境**
确认测试所用的智能手机已经接入与开发 PC 相同的 Wi-Fi 网络。只有这样它们之间才能够互相通信。如果存在任何一种情况下的隔离状态(如 NAT 路由器设置不当等),则可能导致仍然无法建立有效的 TCP/IP 链路[^3]。
#### 3. **检查防火墙及杀毒软件的影响**
有时个人计算机会安装有较为严格的网络安全防护机制,可能会阻止外部来源尝试访问其开放的服务端口。此时应临时关闭 Windows Defender Firewall 或其他第三方防病毒产品对于特定范围内的入站流量限制;当然也可以更加精细地配置例外规则只允许必要的 HTTP(S)/WebSocket 流量通过指定端口号传递给目标应用程序实例监听处[^4]。
#### 4. **验证后端服务是否正常启动并绑定正确地址**
除了客户端方面的调整外还需要关注服务器一侧的状态。确保 Express/Koa/Spring Boot/Django 等框架构建起来的应用正在运行,并且绑定了所有可用网络接口而不是仅仅局限于 loopback (即默认情况下只会接受源自自身的连接请求)[^5]:
```bash
node app.js # NodeJS Example Listening on all interfaces by default.
python manage.py runserver 0.0.0.0:8000 # Django Example Binding All Interfaces Explicitly.
java -jar my-spring-boot-app.jar --server.address=0.0.0.0 # Spring Boot Java Application Setting Host Parameter Manually During Startup Time.
```
以上步骤完成后再次执行项目编译流程并将最新版APK文件传输至待测终端重新安装体验即可看到预期行为表现出来啦!
---
阅读全文
相关推荐


















