gpt4 book ai didi

javascript - 页面加载/刷新时的 Backbone js 路由,无需哈希

转载 作者:行者123 更新时间:2023-12-03 10:04:24 24 4
gpt4 key购买 nike

我的路由器中有这个

# ROUTING
App.Router = Backbone.Router.extend(

routes:
'': 'homePage'
'photography': 'photographyPage'
'about': 'aboutPage'
'contant': 'contantPage'

initialize: ->
that = this
@route 'photography', 'photographyPage', ->
that.photographyPage()

pageWrapper = $('#pageWrapper')
content = $('#content')

homePage: ->
console.log 'homepage'

photographyPage: ->
console.log 'photography'
)

启动路由器后

new (App.Router)
Backbone.history.start
pushState: true

在我的 html 中我有这个

<nav>
<a href="/photography" class="inbound-link">Photography</a>
<a href="/about" class="inbound-link">About</a>
<a href="/contact" class="inbound-link">Contact</a>
</nav>

我可以很好地导航到上述链接。但我遇到了一个问题,如果我登陆 http://website.com/photography 并刷新页面,我会收到 404 not found。或者如果我直接访问该网址,我也会得到 404。我尝试了这条路线 http://website.com/#/photography 并且有效,但是当它加载它时,它删除了 # 并将其替换为 http://website.com/photography

有人可以帮助我理解我做错了什么吗?非常感谢您的帮助!

最佳答案

问题是您正在从 HTTP 服务器请求路径 /photography,但它找不到正确的文件。

您需要配置服务器,以便为可能请求的任何(或某些)路径提供 html 文件。

正确的方法取决于您的服务器(apache、nginx 等)

关于javascript - 页面加载/刷新时的 Backbone js 路由,无需哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30426842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com