javascript - 框架中路由的奇怪问题
访问的时候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"是有区别的 楼主自己试验体会下