欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 框架中路由的奇怪问题

程序员文章站 2022-06-06 19:27:38
...
写了一个简单的mvc框架。设定好的路由很简单 module/controller/action 这样的规则。
访问的时候localhost:86/app/index/index就可以渲染视图文件。

问题来了。

通过app/index/index 这样的路由访问页面,在页面中写了一个跳转

点击跳转页面

这时候浏览器中浏览路径就可能会变成localhost:86/app/index/demo/index/index。
但是有时候就是可以正常访问,变成localhost:86/demo/index/index。

发现两个区别就是href中 路径app/index/index 与 /app/index/index的区别。请问有什么方法可以比较好的解决这样的路由问题么?

项目源代码在https://github.com/zhoujiangy... 。

回复内容:

写了一个简单的mvc框架。设定好的路由很简单 module/controller/action 这样的规则。
访问的时候localhost:86/app/index/index就可以渲染视图文件。


问题来了。

通过app/index/index 这样的路由访问页面,在页面中写了一个跳转

点击跳转页面

这时候浏览器中浏览路径就可能会变成localhost:86/app/index/demo/index/index。
但是有时候就是可以正常访问,变成localhost:86/demo/index/index。

发现两个区别就是href中 路径app/index/index 与 /app/index/index的区别。请问有什么方法可以比较好的解决这样的路由问题么?

项目源代码在https://github.com/zhoujiangy... 。

这个就是URL路径的问题,跟你的路由没有关系啊。

app/index/index 这种就是相对路径

/app/index/index 这种就是绝对路径

类似于文件系统路径,如:
如果当前location是 /a/b/c
那么,
href="foo/bar"就跳转到/a/b/foo/bar
href="/foo/bar"就跳转到/foo/bar

这个不是你的框架路由决定的,是web标准决定的

href = "/xxx/xxx"和 href="xxx/xxx"是有区别的 楼主自己试验体会下

相关标签: php javascript