Backbonejs HTTP body on put 请求与第二个模型保存不同

Backbonejs HTTP body on put request different on second model save

我的问题与 Backbone 模型的第二次保存有关,以及为什么第二次保存时我的 HTTP 请求正文不同。

这是一个现有模型,因此 put 请求被发送到两个帐户的服务器。

我第一次对模型进行更改时,会将具有以下 HTTP 正文的放置请求发送到服务器:

{ id: '12345',
  book_title: 'new title' }

如果我再次更改模型并再次保存,则会发送以下 HTTP 正文:

{ id: '12345',
  book_title: 'second title',
  command: 'UPDATE',
  rowCount: 1,
  oid: null,
  rows: [],
  fields: [],
  _parsers: [],
  RowCtor: null,
  rowAsArray: false }

为什么在第二次保存时将额外数据添加到 HTTP 正文中?

Backbone 在 HTTP 正文中发送模型的所有属性。我怀疑您可能在第一次获取后设置了一些值来建模。

尝试安慰

  model.toJSON();

保存之前。它必须具有在您的 http 正文中看到的所有值。

我觉得真的很傻。在查看了像 ezpura 建议的 model.toJSON() 之后,我意识到额外的属性是在我的 save 之后设置的。

然后我意识到新属性是我从服务器返回的保存后的数据库响应。