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
之后设置的。
然后我意识到新属性是我从服务器返回的保存后的数据库响应。
我的问题与 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
之后设置的。
然后我意识到新属性是我从服务器返回的保存后的数据库响应。