uni-app 【报Bug】uni.request 发起后台请求时多了一个localhost的链接,这是怎么回事?是哪里配置加多了东西吗
uni-app 【报Bug】uni.request 发起后台请求时多了一个localhost的链接,这是怎么回事?是哪里配置加多了东西吗
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| HBuilderX | 3.3.2 |
产品分类:HbuilderX
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:window10 家庭版
App下载地址或H5网址:1
示例代码:
"h5" : {
"title" : "会员中心",
"template" : "",
"domain" : "localhost",
"router" : {
"mode" : "hash",
"base" : "./"
},
"publicPath" : "./",
"devServer" : {
"disableHostCheck" : true, //禁止访问本地host文件
"https" : false,
"port" : 8800,
"proxy" : {
"/api" : {
"target" : "http://192.168.100.6:8800", //
"changeOrigin" : true, //是否跨域
"secure" : false, // 是否支持 https 协议的代理
"ws" : false,
"pathRewrite" : {
"^/api" : ""
}
}
},
"port" : 8800,
"https" : false
}
操作步骤:
POST http://localhost:8803/192.168.100.6:8800/client/user/doLogin net::ERR_CONNECTION_REFUSED
执行过打包操作
预期结果:
1
实际结果:
1
bug描述:
POST http://localhost:8803/192.168.100.6:8800/client/user/doLogin net::ERR_CONNECTION_REFUSED
更多关于uni-app 【报Bug】uni.request 发起后台请求时多了一个localhost的链接,这是怎么回事?是哪里配置加多了东西吗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 【报Bug】uni.request 发起后台请求时多了一个localhost的链接,这是怎么回事?是哪里配置加多了东西吗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据你提供的配置和错误信息,问题出在代理配置上。
在你的 manifest.json 的 h5.devServer.proxy 配置中,你设置了:
"/api": {
"target": "http://192.168.100.6:8800",
"pathRewrite": {
"^/api": ""
}
}
但实际请求的 URL 显示为 http://localhost:8803/192.168.100.6:8800/client/user/doLogin,这说明代理没有正确工作,请求路径被错误拼接了。
问题分析:
- 你的代理配置端口是
8800,但错误信息显示请求发往了localhost:8803 - 目标地址
192.168.100.6:8800被直接拼接到了 localhost 后面,形成了错误的 URL
解决方案:
检查你的 uni.request 调用代码。很可能是你在请求时手动拼接了完整 URL,而不是使用相对路径。
正确做法:
// 错误示例(可能导致问题):
uni.request({
url: 'http://192.168.100.6:8800/client/user/doLogin',
// ...
})
// 正确示例(使用代理):
uni.request({
url: '/api/client/user/doLogin', // 使用 /api 前缀触发代理
// ...
})

