使用 Backbone 时, 没有对应 Model 的 HTTP 请求如何处理更好?
项目中有出现一些没有对应 Model 的 API 接口,
通常使用是在 View 的方法里, 直接用 $.ajax({})
的写法来处理,
不过这样代码可读性非常差, 我只能想到对 ajax 接口稍微做点封装简化一些书写.
有没有好的方案可以处理这些接口?
我觉得 Backbone 对 Model 的请求, 通过事件对 API 进行了抽象, 书写更清晰,
那我有没有必要强制对这些设定一个 Model 呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
个人觉得应该,如果你要追求规范的话。
我注意到,你在这个问题的标签里加了restful。那么意味着你的服务器是支持REST架构的。那么对于REST架构风格,其一大特点就是“一切皆为资源“,那么无论你是get、post、put或是delete,都是对资源的操作。而这些资源,抽象到你的代码中就是数据模型。所以我相信无论你的API接口是实现什么功能,都可以抽象出一个数据模型。既然可以,为什么不呢?虽然可能会增加你的代码量,但是对于代码的可读性,已经后期的可维护性来说,我觉得是值得的。
是否要为了优雅使用 API 而用 Model ,我觉得还是要具体情况:
比如用户登录,获取用户状态,我就在后端实现一个 /current_user 的 RESTfull API ,
POST 就是登录动作,GET 就是获取当前用户, DELETE 就是退出。
前端里实现类似:
App.currentUser = new User({url:'/current_user'})
然后 View 监听这个 App.currentUser 就可以避免手写 ajax 回调啦