我有一个看起来像这样的模型(在coffeescript中):
class MyModel extends Backbone.Model
parse: (response) ->
console.log 'Parse triggered!'
return response.response
myFunction: (data, callback) ->
self = this
this.fetch
data: data
processData: true
success: (model, response) ->
console.log response
# App specific stuff happens here
error: (model, response) -> console.log response
服务器的JSON响应格式如下:
{
response: {
id: 1,
foo: 'blah'
bar: 'meh'
}
}
据我所知,myFunction中的console.log应该只包含JSON中response
的值。然而,似乎正在发生的事情是我看到了日志Parse triggered!
,但我在myFunction中访问的响应对象根本没有被解析。换句话说,就像JSON刚刚直接通过一样。
我做错了什么?
答案 0 :(得分:3)
Model#fetch
将调用成功处理程序,在填充模型之前,parse
将被称为。如果您在成功回调中查看model
,则应该会看到JSON中的id
,foo
和bar
值。传递给成功回调的response
将是原始AJAX响应对象。