主干模型缺少url参数.不



我正在尝试将模型与服务器同步。不幸的是,尽管在模型上设置了urlrootUrl,但我仍然没有指定url属性

不用说,我可以用这个模型做model.fetch()(GET),但当尝试POST时,我突然失去了URL

>>> model = window.mod
ClientSchema { cid="c2", attributes={...}, _changing=false, more...}
>>> model.url
"http://localhost:8080/mp/add"
>>> model.urlRoot
"http://localhost:8080/mp/add"
>>> model.set({test:2})
ClientSchema { cid="c2", attributes={...}, _changing=false, more...}
>>> model.sync()
Error: A "url" property or function must be specified
urlError()vendor.js 
Backbone.sync()vendor.js 
.sync()vendor.js 
throw new Error('A "url" property or function must be specified');

型号

# coffeescript
# Chaplin.Model just extends Backbone.Model
module.exports = class ClientSchema extends Chaplin.Model
    url: 'http://localhost:8080/mp/add'
    urlRoot:'http://localhost:8080/mp/add'

型号同步

>>> model.sync.toString()
"function () {
      return Backbone.sync.apply(this, arguments);
    }"    

如果您没有覆盖默认的同步方法。您需要传递一个模型或一个url。

这是原始同步:

Backbone.sync = function(method, model, options) {
...
  if (!options.url) {
    params.url = _.result(model, 'url') || urlError();
  }
...
}

当您调用model.sync()时,您不会传递任何信息。

相关内容

  • 没有找到相关文章

最新更新