JavaScript – Backbone.js和CakePHP

我有兴趣在我们的应用程序(建立在CakePHP框架上)的一些更重复的页内CRUD结构中实现Backbone.js。我一直试图抓住骨干,同时弄清楚它如何与蛋糕结合起来​​,我在分离双方的职责时有点失落。

我试图将某些东西放在我的网站上,不需要在那里吗?这种栈结构有优先权吗?在这一点上我都是耳朵。

我现在正在使用相同的情况(尽管使用Python / Flask,但是相同的概念应该适用于任何服务器端语言)。以下是我的应用程序中页面的工作流程。只是一个注释,我不遵循单页应用程序格式;在我的应用程序中,每个主要页面都是完全重新加载的。

>用户请求页面,说公司列表,/公司/列表/
>服务器进行路由,加载正确的控制器
>控制器从DB加载第一批X公司
>公司编码为JSON
>其他元数据被加载(如公司总数),并转为JSON
>加载列表页面模板,并将JSON弹出到< script>标签在模板中。请注意,我不填写列表或任何沿着这些行,我让Backbone做所有这些。我在这里填写JSON,所以客户不需要对初始公司进行第二个请求
>列表页面发送给客户端。服务器现在完成了
>客户端具有开始所需的所有数据,所以我拿起JSON并将其传递给我的Backbone.View的列表页面
>视图为模型创建一个集合,并管理一组表示列表中条目的子视图
>任何其他处理/视图创建都会发生,如创建页面,上一个/下一个按钮等。
>如果用户点击下一页的公司,我会向服务器(/ Companies / listing / page / 1或某些东西)发起一个AJAX查询,该服务器返回一个新的JSON字符串,并带有一组新的模型
>发送新的模型集到我的Backbone.View,刷新一切

所以真的,服务器只用于数据的实际加载,以及模板的初始发送。我喜欢这个,因为它会让我轻松地挂上新的前端(比如iPad应用程序或某些东西)。

对于一个形式,在很广泛的笔画,我做这样的事情:

>用户请求表单/公司/编辑/ 1
>服务器执行权限检查,加载条目,将模板/ JSON发送给客户端。服务器没有填写表单与数据
>客户端使用JSON填写表单
>客户端修改表单,点击提交
>他们的所有更改都应用于模型,该模型变为JSON,并使用AJAX发送到服务器
>服务器进行验证,并向客户端发送错误消息(以JSON格式),或更新数据库并发送成功消息

所以,再一次,这些是如何做到这一点的。一般来说,我使用服务器从数据库中抓取数据,做服务器端验证(不能信任客户端),并更新数据库。

如果您有一些具体问题,我很乐意尝试分享我迄今为止所学到的知识。

翻译自:https://stackoverflow.com/questions/8980605/backbone-js-and-cakephp

转载注明原文:JavaScript – Backbone.js和CakePHP