uni-app redirectTo在跳转时自动在url前面加上“/pages/index”,导致跳转失败
uni-app redirectTo在跳转时自动在url前面加上“/pages/index”,导致跳转失败
这是失败回调
```
{"errMsg":"redirectTo:fail page/pages/index/pages/call/call"}
```
methods: {
async getDataById(params) {
await apiUtil.getData({
“code”: params
}).then((result) => {
console.log(result);
if (result == undefined || result == null) {
uni.redirectTo({
url: “pages/call/call?query=” + encodeURIComponent(JSON.stringify(result)),
fail(err) {
console.log(err);
},
success() {
console.log("");
}
})
} else {
uni.reLaunch({
url: “./pages/index/index”
})
}
}, (error) => {
uni.reLaunch({
url: “./pages/error/error”
})
})
}
}
更多关于uni-app redirectTo在跳转时自动在url前面加上“/pages/index”,导致跳转失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
pages/call/call?query=" 前面加上 / 如果不加,就是你出现的这个问题 ,路径补全了
路径错误 ,应该使用 /pages/call/call 或者 …/call/call
使用的是/pages/call/call路径,但是运行后系统会自定加 /pages/index在前面,导致跳转失败,上面是打印的错误信息。我在在app.vue里面使用的跳转,试过网上的延迟也不行。
回复 DCloud_UNI_HT: 代码在下面贴出来了,getDataById 是在app.vue 的onLaunch里面调用的。这种情况只出现在异步调用里
根据你提供的错误信息,redirectTo 跳转失败是因为 URL 路径被错误地拼接了 /pages/index。这通常是由于以下原因导致的:
-
路径格式问题:在
redirectTo中使用的路径可能没有以/开头,或者路径格式不正确。例如,如果你尝试跳转到pages/call/call,但实际路径是/pages/call/call,系统可能会错误地拼接基础路径。 -
基础路径配置:检查
pages.json中的页面路径配置,确保没有在基础路径中重复添加/pages/index。有时,如果配置了全局基础路径或默认页面,可能会导致路径拼接错误。 -
代码中的路径处理:检查调用
redirectTo的代码,确保路径字符串没有多余的空格或错误的前缀。例如:// 错误示例:路径前可能有多余的字符或错误拼接 uni.redirectTo({ url: 'pages/call/call' // 缺少斜杠可能导致系统自动添加基础路径 });正确的写法应该是:
uni.redirectTo({ url: '/pages/call/call' // 以斜杠开头,确保路径正确 });


