Backbone.js - 将数据保存到服务器

时间:2012-08-29 10:39:33

标签: javascript jquery ajax backbone.js

我正在尝试将我的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;
  }


});

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

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

您的应用程序未使用jsonp中的Collection.create()配置,这是因为集合代表Model.save()创建元素。

检查Collection.create() code

您也应该覆盖Project.sync()