【问题标题】:Can I use URL routes with both backend API and Web front end like Backbone.js?我可以将 URL 路由与后端 API 和 Web 前端(如 Backbone.js)一起使用吗?
【发布时间】:2013-11-14 23:10:10
【问题描述】:

我完全对使用 URL 进行路由的概念感到困惑,只是不明白我所看到的这两个概念之间是否存在冲突,或者我应该做些什么来准备我的开发以使用它们。

这两个概念是用于确定前端呈现的 URL 路由 (à labone.js) 和作为提供 API 服务的手段的后端路由。冲突在于它们是否在同一个域中。

例如,假设我计划这样的前端路由: 诸如骨干网之类的框架使用路由来确定要执行哪些操作以将模板呈现给用户。例如,url http://www.mydomain.com/categories 是在模板中呈现类别列表的路由。

但是,它需要从同一域上的后端服务获取类别列表,以便填充模型并处理数据更改。所以我计划能够发布、更新、删除等...

所以这就是我感到困惑的地方。如果我在http://www.mydomain.com/managecategories 上创建 API 服务,前端框架怎么知道不会因为我没有定义该路由而引发错误?

如果我只是手动更新 URL 并按 Enter 键,还需要处理什么(就错误处理而言)?

我无法理解这一点。

【问题讨论】:

    标签: api rest backbone.js routing


    【解决方案1】:

    没有冲突。不用担心。随意。

    基本上Backbone路由主要是关于如何改变浏览器地址栏显示的url,如何响应改变,如何响应已有的url等等。都是前端的东西,没有请求会发送到服务器

    另一方面,对于集合/模型中的同步 url,它们是真正的 url,将以 JSON 格式(或 JS/HTML)向服务器发送请求。通常这些 url 后面都有一个 jQuery $.ajax 方法。

    所以,它们是两个完全不同的东西。随心所欲地做任何你想做的事,根本不会有冲突。

    【讨论】:

      【解决方案2】:

      好吧,如果您打算获取它们,您必须提供 url of the models(您的案例中的类别)和/或 url of collections

      Router 内部的路由是一个完全不同的概念,它会影响应该初始化哪些视图

      【讨论】:

      • 这并不能真正回答我的问题。我不是在问将 URL 放在哪里,我是在问如果用户输入的 URL 没有在路由器中指定,但对于服务来说是有效的 URL,会发生什么。
      • 好吧,你的路由器应该有一个后备情况,用于不匹配任何模式的情况。例如:` routes: { "dashboard" : "dashboard", "search/:q" : "search", "*path" : "other" },`
      • OK 所以当用户在地址栏中键入它时会引发错误。但是如果模型或集合也在这个抛出错误的 URL 处执行这个请求呢?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      • 2020-12-05
      • 2016-10-22
      • 2012-03-18
      相关资源
      最近更新 更多