1

我正在尝试将我的 Backbone.js 应用程序同步到服务器。我会注意到我覆盖了集合中的同步以使用 jsonp:

window.Project = Backbone.Model.extend({

    initialize:function () {

    },

    urlRoot:"http://cshosting.webfactional.com/api/v1/projects",

    defaults:{
        "id":null,
        "completion_state":"0",
        "last_update_datetime":"0"

    }
});


window.ProjectList = Backbone.Collection.extend({

    model: Project,

    url:"http://cshosting.webfactional.com/api/v1/projects/",

    sync: function(method, model, options) {             
        options.dataType = 'jsonp';
        options.url="http://cshosting.webfactional.com/api/v1/projects/?    format=jsonp&callback=moshe";           
        //options.contentType='application/json-p';
        options.error=this.errorr;
        return Backbone.sync(method, model, options);
    },

    parse: function(response) {
         return response.objects;
  }


});

问题是,虽然“获取”工作正常,但当我尝试为集合“创建”一个新模型时 - 我收到此网络错误:

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

0

您的应用程序没有使用您的jsonp配置,Collection.create()这是因为 Collection 委托在Model.save()创建元素

检查Collection.create() 代码

您也应该覆盖Project.sync()

于 2012-08-29T11:26:50.927 回答