0

我的应用程序部署在不在根目录下的服务器上:

http://www.myserver.com/myApp/

我在骨干网中设置了一条路由,可以在上述 url 的根目录上执行:

routes: {
    '*path': 'index'
}

在我的索引函数中,我设置了一个模型并在该模型上查看和调用 fetch,它工作正常。模型请求 url:

http://www.myserver.com/myApp/myData.json

问题是当我转到没有训练斜线的 url 时:

http://www.myserver.com/myApp

我的应用程序加载但我的 model.fetch() 调用失败,因为它尝试从以下位置获取数据:

http://www.myserver.com/myData.json

有人有什么想法吗?

我没有在历史上使用 pushstate: true 并且在 history.start() 中设置 root 似乎没有做任何事情:

router.init();
Backbone.history.start({ root: '/myapp/' });

据我所知,根参数仅在 pushState 设置为 true 时使用。

4

1 回答 1

0

在对 Backbone.history.start() 的调用中设置路由的根路径:

Backbone.history.start({ root: 'myApp' });

否则,将假定您的站点的根目录。

于 2013-08-30T15:28:30.347 回答