使用Codeigniter和Backbone.js路由问题

Low*_*ase 5 .htaccess requirejs backbone.js codeigniter-2

以下是我使用的框架:

  • Codeigniter REST API
  • Require.js
  • Backbone.js的

运行应用程序:

  • htaccess文件通过Codeigniter index.php文件重定向所有内容.
  • Codeigniter中有一个默认路由设置,用于调用"Start"控制器.
  • Start Controller调用Start View(Codeigniter中的唯一视图).
  • "开始视图"保存整个网站的模板,并调用启动Require.js
  • Require.js启动Backbone和app按预期工作.

问题:路由到其他骨干视图:

  • 现在我想通过Backbone路由到其他Backbone"视图".
  • 问题是当我尝试在HREF中提供像"localhost/otherPage"这样的链接时,htaccess文件会触发,而Codeigniter会尝试找到该控制器,并且我得到了Codeigniter生成的404.
  • 我尝试使用`app.navigate("otherPage",{trigger:true});`来强制使用Backbone中的路由而不是HREF,但是我得到了Codeigniter生成的相同的404错误.

我应该采取什么方向:

  • 我想继续使用Codeigniter来实现其RESTFUL API,模型和一些特殊的验证功能.
  • 我也想在前端使用Backbone和Require.
  • 我可以将htacess重定向更改为启动Require和Backbone的index.html文件.如果我使用这种方法,Codeigniter RESTFUL API控制器是否仍会正常启动?
  • 我是否在Codeigniter中为每个页面创建一个视图,并为每个视图启动每个页面的Require + Backbone新增内容?
  • 我很快就会研究Node.js.我应该删除框架的Codeigniter方面,并在Node.js上全力以赴?

任何指导都非常感谢.

Loa*_*oof 2

如果您还没有这样做,您可能希望通过 Backbone 通过主题标签更改进行路由(这是他的正常行为,pushState: false),因为修改主题标签绝不会导致服务器调用,从而忽略 Codeigniter 的路由器。
在您的示例中,您需要导航到localhost/#otherPage
然后使用 Codeigniter 的路由器进行 ajax REST 调用。