1

我对 Backbone 很陌生,正在为网站创建一些基本的 API。但是,我遇到了一个我还没有找到解决方案的问题。

在我的前端,我有一个名为 Item 的主干模型,它有一个 urlRoot:“/item”。现在这个 urlRoot 被 Backbone 用来向服务器发送不同的 HTTP 请求,对吗?因此,如果我的主干模型使用 Item.fetch() 它将发送一个 GET 请求,而 Item.save() 可能会发送一个 POST 请求。

然后我的后端有一堆监听器函数来处理不同的情况,如“/createItem”、“/updateItem”、“deleteItem”等。所有这些都可以使用提供的基本 urlRoot 来处理吗?还是我必须明确明确发出什么路线?

4

2 回答 2

0

如果您想遵循默认方式,您的后端不应为每个 CRUD 操作使用不同的名称。它应该使用您使用模型的 rootUrl + /id 指定的 url,并且应该为该单个 URL 处理 HTTP POST、GET、PUT 或 DELETE(除了 POST URL 没有附加 /id)。

请参阅:http ://backbonejs.org/#Sync

于 2013-05-17T20:51:01.643 回答
0

由于您使用的是一组非常规的休息端点,因此您需要为您的模型提供自定义同步方法:

sync : function(method, model, options) {
    if (method === 'read') {
        this.baseUrl = '/item';
        return Backbone.sync.apply(this, arguments);
    } ...
}
于 2013-05-17T20:53:52.543 回答