gpt4 book ai didi

backbone.js - 如何在主干应用程序中指定各种 URL?

转载 作者:行者123 更新时间:2023-12-03 10:21:41 26 4
gpt4 key购买 nike

我需要一个主干模型来根据正在执行的操作类型访问各种 URL。如何确定 URL 函数中的操作以便指定适当的 URL?例如:

删除:/myapipath/itemtype/id/
POST:/myapipath/special-path/
获取:/myapipath/special-path/?code=ABC

我知道如何区分 POST 和其他所有内容:this.isNew()

但是如何区分自定义 model.url 函数中的 DELETE 和 GET 之间的区别?

请不要建议我更改服务器端api。那不取决于我。

谢谢!

最佳答案

从概念上讲,Backbone 模型的 url 是资源的主要 ​​GET url。要对某些操作使用不同的 url,请覆盖模型的同步功能。幸运的是,Backbone makes it easy to override :

window.MyModel = Backbone.Model.extend({
// ... other stuff ...

url: '/myapipath/special-path/?code=ABC',

methodUrl: {
'create': '/myapipath/special-path/',
'delete': '/myapipath/itemtype/id/'
},

sync: function(method, model, options) {
if (model.methodUrl && model.methodUrl[method.toLowerCase()]) {
options = options || {};
options.url = model.methodUrl[method.toLowerCase()];
}
Backbone.sync(method, model, options);
}
}

编辑 :我再次查看了 Backbone 源代码,注意到它合并了整个 options构建参数的参数,而不是 options.params ,并相应地更新了我的示例。

关于backbone.js - 如何在主干应用程序中指定各种 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6986914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com