Backbone.js and CakePHP
Backbone.js and CakePHP
我有兴趣在我们的应用程序(构建在CakePHP框架上)中为一些更重复的页面内CRUD结构实现Backbone.js。我一直在努力掌握Backbone,同时弄清楚它如何与Cake结合使用,当涉及到将双方的职责分开时,我有点不知所措。
我是不是想把一些不需要的东西塞进我的网站?这种堆栈结构有优先权吗?在这一点上我洗耳恭听。
我现在实际上正在处理同样的情况(尽管使用Python/Flask,但相同的概念应该适用于任何服务器端语言)。以下是我的应用程序中页面的工作流程。只是注意,我不遵循单页申请格式;在我的应用程序中,每个主要页面都是完全重新加载的。
- 用户请求一个页面,比如公司列表、/公司/列表/
- 服务器执行路由,加载正确的控制器
- 控制器从DB加载前X家公司
- 公司编码为JSON
- 加载其他元数据(如公司总数)并将其转换为JSON
- 加载列表页面模板,并将JSON弹出到<脚本>标记。请注意,这里我不填写列表表或任何类似的内容,我让Backbone来完成所有这些。我在这里填写JSON,这样客户端就不必对最初的一组公司进行第二次请求
- 列表页面将发送到客户端。服务器目前已完成
- 客户端拥有启动所需的所有数据,所以我获取JSON并将其传递给我的Backbone。查看列表页面
- 该视图为模型创建一个集合,并管理一组表示列表中条目的子视图
- 任何其他处理/视图创建都会发生,例如创建页面、上一个/下一个按钮等
- 如果用户点击公司的下一个页面,我会向服务器(/companys/listing/page/1或其他什么)发出AJAX查询,服务器会返回一个带有新模型集的新JSON字符串
- 将新模型集发送到我的Backbone。查看它会刷新所有内容
实际上,服务器只用于实际的数据加载和模板的初始发送。我喜欢这个,因为它可以让我轻松地连接新的前端(比如iPad应用程序之类的)。
对于一种形式,用非常宽泛的笔触,我做了这样的事情:
- 用户请求表单,/companys/edit/1
- 服务器进行权限检查,加载条目,向客户端发送模板/JSON。服务器没有用数据填写表单
- 客户端使用JSON填写表单
- 客户修改表单,点击提交
- 他们的所有更改都应用于模型,模型被转换为JSON并使用AJAX发送到服务器
- 服务器进行验证并向客户端发送错误消息(JSON),或者更新数据库并发送成功消息
再说一遍,这些都是我如何做到的。一般来说,我使用服务器从数据库中获取数据,进行服务器端验证(不能信任客户端,呵呵),并更新数据库。
如果你有一些具体的问题,我很乐意分享我到目前为止学到的东西。
相关文章:
- Selenium WebDriver and JavaScript change
- PHP and Javascript functions
- Javascript Return and if/else
- SetTimeout and clearTimeout in Javascript
- lightbox in html 5 and javascript
- TimelineJS and AngularJS
- timeago.js with datatable and PHP
- javascript button ajax and php
- Ajax and Json with Rails
- Combine onload, onresize and onclick
- php布尔值's小写AND大写和数字布尔值'可以接受
- setTimeout and V8
- Jquery post and onclick
- Moment js and IOS
- CakePHP and ViewerJS
- Cakephp and Fancybox implementation
- Backbone.js and CakePHP
- HTML and JavaScript in Cakephp
- cakePHP and Google AdSense
- Ionic and CakePHP login