Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js中创建、更新和删除的自定义URL_Backbone.js_Backbone Views - Fatal编程技术网

Backbone.js中创建、更新和删除的自定义URL

Backbone.js中创建、更新和删除的自定义URL,backbone.js,backbone-views,Backbone.js,Backbone Views,我有这样的要求,但没有得到任何工作 我的主干模型如下所示:- var task = backbone.Model.extend({ idAttribute: "TaskId", defaults: { TaskId: null, Name: null, TaskTypeId: null }, // urlRoot: '/MyController/GetTasksAsync', methodToURL: {

我有这样的要求,但没有得到任何工作

我的主干模型如下所示:-

var task = backbone.Model.extend({
    idAttribute: "TaskId",

    defaults: {
        TaskId: null,
        Name: null,
        TaskTypeId: null
    },

    // urlRoot: '/MyController/GetTasksAsync',
    methodToURL: {
        'read': '/MyController/Get',
        'create': '/MyController/create',
        'update': '/MyController/update',
        'delete': '/MyController/remove'
    },
    sync: function (method, model, options) {
        options = options || {};
        options.url = model.methodToURL[method.toLowerCase()];

        return Backbone.sync.apply(this, arguments);
    }
});
现在,我不知道如何调用
Sync
方法了

这是我尝试过但没有成功的方法:-

this.model.sync("read",1,"");//(Get method, some hardcoded value /Get/1,no callback)
我将如何调用save方法

this.model.sync('update',model,'');

我遗漏了什么吗?

我认为您实际上在寻找的是主干模型方法获取、保存和销毁已覆盖的sync方法的哪个委托

以下是用于获取的文档(保存和销毁在附近):


例如,要触发“读取”方法,您可以调用model.fetch()。

更具体地说,您可以声明一个模型(var model=new task()),然后执行model.save()以点击“创建”路径(如果模型是新的,则点击“更新”路径),model.fetch()以点击“读取”路径,model.destroy()以点击“删除”路径。此外,这些方法允许传入一个对象(文档中的选项),该对象映射到sync方法中的options参数。如果愿意,可以在其中添加id(示例中为1),并在sync方法中检查对象的属性。如果它在那里,你可以将它连接到uri的末尾……我已经看到了文档,如果我遵循文档,我就无法让它工作。你能用一些正确的语法发布吗?>使用你提供的代码,你可以像这样声明一个模型:var taskModel=new task();现在,为了使用'read'方法点击sync,您需要执行以下操作:taskModel.fetch();您应该在控制台中看到对/MyController/GET的GET请求。您可能希望在该路径前面加上服务器地址。如果在执行taskModel.fetch()时想转到/MyController/Get/{id},可以将options.url行重写为如下内容:options.url=model.methodToURL[method.toLowerCase()]+(model.Get('TaskId')==null?':'/'+model.Get('TaskId');